GNAppPermission class
Request for necessary App Permission(s).
Add permission(s) to AndroidManifest.xml file.
<!-- Calendar -->
<uses-permission android:name="android.permission.READ_CALENDAR"/>
<uses-permission android:name="android.permission.WRITE_CALENDAR"/>
<!-- Camera -->
<uses-permission android:name="android.permission.CAMERA"/>
<!-- Contacts -->
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.WRITE_CONTACTS"/>
<!-- Location -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>
<!-- Media Library (Deprecated, use storage permissions instead) -->
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
<!-- Microphone -->
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<!-- Phone -->
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.READ_CALL_LOG"/>
<uses-permission android:name="android.permission.WRITE_CALL_LOG"/>
<uses-permission android:name="android.permission.ADD_VOICEMAIL"/>
<uses-permission android:name="android.permission.USE_SIP"/>
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
<!-- Photos -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!-- Reminders -->
<!-- No direct Android permission -->
<!-- Sensors -->
<uses-permission android:name="android.permission.BODY_SENSORS"/>
<!-- SMS -->
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<uses-permission android:name="android.permission.READ_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_WAP_PUSH"/>
<uses-permission android:name="android.permission.RECEIVE_MMS"/>
<!-- Speech -->
<!-- No direct Android permission -->
<!-- Storage -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!-- Ignore Battery Optimizations -->
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
<!-- Notification -->
<!-- No direct Android permission -->
<!-- Access Media Location -->
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION"/>
<!-- Activity Recognition -->
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
<!-- Bluetooth -->
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.BLUETOOTH_SCAN"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE"/>
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
<!-- Nearby WiFi Devices -->
<uses-permission android:name="android.permission.NEARBY_WIFI_DEVICES"/>
<!-- Manage External Storage -->
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
<!-- System Alert Window -->
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<!-- Request Install Packages -->
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
<!-- App Tracking Transparency -->
<!-- No direct Android permission -->
<!-- Critical Alerts -->
<!-- No direct Android permission -->
<!-- Access Notification Policy -->
<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY"/>
<!-- Schedule Exact Alarm -->
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM"/>
<!-- Calendar Write Only -->
<uses-permission android:name="android.permission.WRITE_CALENDAR"/>
<!-- Calendar Full Access -->
<uses-permission android:name="android.permission.READ_CALENDAR"/>
<uses-permission android:name="android.permission.WRITE_CALENDAR"/>
<!-- Background Refresh -->
<!-- No direct Android permission -->
Constructors
Properties
- hashCode → int
 - 
  The hash code for this object.
  no setterinherited
 - runtimeType → Type
 - 
  A representation of the runtime type of the object.
  no setterinherited
 
Methods
- 
  noSuchMethod(
Invocation invocation) → dynamic  - 
  Invoked when a nonexistent method or property is accessed.
  inherited
 - 
  toString(
) → String  - 
  A string representation of this object.
  inherited
 
Operators
- 
  operator ==(
Object other) → bool  - 
  The equality operator.
  inherited
 
Static Methods
- 
  requestPermissions(
{required List< Permission> permissionList, VoidCallback? onAllPermissionGranted, VoidCallback? onAllPermissionDenied, VoidCallback? onSomePermissionDenied}) → Future<void>  - 
  Request to single 
PermissionRequest to multiple Permissions