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

GNAppPermission.new()

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 Permission Request to multiple Permissions