android grantPermission() 错误 && java.lang.IllegalStateException:
android grantPermission() error && java.lang.IllegalStateException:
喂!
这是我另一个自我回答的问题。我希望你能得到一点帮助。
所以..这是关于 sdk23 或更高版本的 sdk 设备的一个权限错误。 '因为权限接受已更改!
并非所有 权限在安装时都可以接受。此更改表示:
当应用处于 运行 时,用户可以选择接受或拒绝一项权限。
以下是自动授予权限:
android.permission.ACCESS_LOCATION_EXTRA_COMMANDS
android.permission.ACCESS_NETWORK_STATE
android.permission.ACCESS_NOTIFICATION_POLICY
android.permission.ACCESS_WIFI_STATE
android.permission.ACCESS_WIMAX_STATE
android.permission.BLUETOOTH
android.permission.BLUETOOTH_ADMIN
android.permission.BROADCAST_STICKY
android.permission.CHANGE_NETWORK_STATE
android.permission.CHANGE_WIFI_MULTICAST_STATE
android.permission.CHANGE_WIFI_STATE
android.permission.CHANGE_WIMAX_STATE
android.permission.DISABLE_KEYGUARD
android.permission.EXPAND_STATUS_BAR
android.permission.FLASHLIGHT
android.permission.GET_ACCOUNTS
android.permission.GET_PACKAGE_SIZE
android.permission.INTERNET
android.permission.KILL_BACKGROUND_PROCESSES
android.permission.MODIFY_AUDIO_SETTINGS
android.permission.NFC
android.permission.READ_SYNC_SETTINGS
android.permission.READ_SYNC_STATS
android.permission.RECEIVE_BOOT_COMPLETED
android.permission.REORDER_TASKS
android.permission.REQUEST_INSTALL_PACKAGES
android.permission.SET_TIME_ZONE
android.permission.SET_WALLPAPER
android.permission.SET_WALLPAPER_HINTS
android.permission.SUBSCRIBED_FEEDS_READ
android.permission.TRANSMIT_IR
android.permission.USE_FINGERPRINT
android.permission.VIBRATE
android.permission.WAKE_LOCK
android.permission.WRITE_SYNC_SETTINGS
com.android.alarm.permission.SET_ALARM
com.android.launcher.permission.INSTALL_SHORTCUT
com.android.launcher.permission.UNINSTALL_SHORTCUT
所以我们没有任何其他事情要做只是询问用户他想做什么..这就是基金的设置。让我们开始编码吧。 答案部分的代码!
但是不要忘记为较旧的android sdk-s!!![=13 在Manifest中写权限=]
代码如下:
创建不存在值的新 int。示例:如果您有一个值为 1 的整数,则此整数不能为 1。那么此整数将是其他值。
int YOUR_PERMISSION_REQUEST = 1212;
&&在onCreate方法中
//If the sdk level equals or higher than 23.
if (Build.VERSION.SDK_INT >= 23){
//The permission we wanna accept
int hasWriteContactsPermission = checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE);
//If is not accepted for this app ask the user he wanna accept it or not.
if (hasWriteContactsPermission != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[] {Manifest.permission.READ_EXTERNAL_STORAGE},
YOUR_PERMISSION_REQUEST);
}
所以你可以要求用户接受一个权限。如果您想询问其他权限,请将代码中的 READ_EXTERNAL_STORAGE 权限更改为您的权限。祝你好运。希望能帮到你。
喂!
这是我另一个自我回答的问题。我希望你能得到一点帮助。
所以..这是关于 sdk23 或更高版本的 sdk 设备的一个权限错误。 '因为权限接受已更改!
并非所有 权限在安装时都可以接受。此更改表示:
当应用处于 运行 时,用户可以选择接受或拒绝一项权限。
以下是自动授予权限:
android.permission.ACCESS_LOCATION_EXTRA_COMMANDS
android.permission.ACCESS_NETWORK_STATE
android.permission.ACCESS_NOTIFICATION_POLICY
android.permission.ACCESS_WIFI_STATE
android.permission.ACCESS_WIMAX_STATE
android.permission.BLUETOOTH
android.permission.BLUETOOTH_ADMIN
android.permission.BROADCAST_STICKY
android.permission.CHANGE_NETWORK_STATE
android.permission.CHANGE_WIFI_MULTICAST_STATE
android.permission.CHANGE_WIFI_STATE
android.permission.CHANGE_WIMAX_STATE
android.permission.DISABLE_KEYGUARD
android.permission.EXPAND_STATUS_BAR
android.permission.FLASHLIGHT
android.permission.GET_ACCOUNTS
android.permission.GET_PACKAGE_SIZE
android.permission.INTERNET
android.permission.KILL_BACKGROUND_PROCESSES
android.permission.MODIFY_AUDIO_SETTINGS
android.permission.NFC
android.permission.READ_SYNC_SETTINGS
android.permission.READ_SYNC_STATS
android.permission.RECEIVE_BOOT_COMPLETED
android.permission.REORDER_TASKS
android.permission.REQUEST_INSTALL_PACKAGES
android.permission.SET_TIME_ZONE
android.permission.SET_WALLPAPER
android.permission.SET_WALLPAPER_HINTS
android.permission.SUBSCRIBED_FEEDS_READ
android.permission.TRANSMIT_IR
android.permission.USE_FINGERPRINT
android.permission.VIBRATE
android.permission.WAKE_LOCK
android.permission.WRITE_SYNC_SETTINGS
com.android.alarm.permission.SET_ALARM
com.android.launcher.permission.INSTALL_SHORTCUT
com.android.launcher.permission.UNINSTALL_SHORTCUT
所以我们没有任何其他事情要做只是询问用户他想做什么..这就是基金的设置。让我们开始编码吧。 答案部分的代码!
但是不要忘记为较旧的android sdk-s!!![=13 在Manifest中写权限=]
代码如下:
创建不存在值的新 int。示例:如果您有一个值为 1 的整数,则此整数不能为 1。那么此整数将是其他值。
int YOUR_PERMISSION_REQUEST = 1212;
&&在onCreate方法中
//If the sdk level equals or higher than 23.
if (Build.VERSION.SDK_INT >= 23){
//The permission we wanna accept
int hasWriteContactsPermission = checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE);
//If is not accepted for this app ask the user he wanna accept it or not.
if (hasWriteContactsPermission != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[] {Manifest.permission.READ_EXTERNAL_STORAGE},
YOUR_PERMISSION_REQUEST);
}
所以你可以要求用户接受一个权限。如果您想询问其他权限,请将代码中的 READ_EXTERNAL_STORAGE 权限更改为您的权限。祝你好运。希望能帮到你。