我正在研究一个请求运行时权限的应用程序。我怎样才能使它在所有的Android版本上工作?哪些支持运行时权限,哪些不支持。Android中的运行时权限
0
A
回答
1
您可以创建一个父活动或可以处理的权限请求,然后创建检查权限,使所有的孩子可以使用它的方法的片段。该方法将检查权限并致电onPermissionGranted
或onPermissionDenied
。
如果Android版本是小于m,只是立即调onPermissionGranted
,否则检查权限正常:
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
callback.onPermissionGranted();
return;
}
//check permissions at runtime...
然后运行你的代码需要在任何API级别onPermissionGranted
回调权限。
0
很简单。如果您的应用程序在Android米长跑,你要问的权限,否则,所有的权限被自动授予
阅读文档https://developer.android.com/guide/topics/permissions/requesting.html
0
如果你在API级别23运行你的应用程序(在安装时被接受)或者更高,您必须在运行时请求权限,否则只需像往常一样在Android Manifest中添加权限即可。
0
在API等级23及更高版本中,您必须在运行时管理权限。
如果您在API等级23或更高版本上设计应用程序目标,则旧版本不会有任何问题。
0
我可以分享我如何处理activity中的权限。您可以将如下代码的代码放入oncreate和onResume中。 正如在看到如果(Build.VERSION.SDK_INT> = Build.VERSION_CODES.M) 此代码为Android 6及以上只。 这就是为什么它以* isPermissionOK = true开头; *
isPermissionOK = true;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
List<String> requiredPermissions = new ArrayList();
requiredPermissions.add(android.Manifest.permission.INTERNET);
requiredPermissions.add(android.Manifest.permission.ACCESS_NETWORK_STATE);
requiredPermissions.add(android.Manifest.permission.ACCESS_WIFI_STATE);
requiredPermissions.add(android.Manifest.permission.WRITE_EXTERNAL_STORAGE);
requiredPermissions.add(android.Manifest.permission.WAKE_LOCK);
requiredPermissions.add(android.Manifest.permission.READ_PHONE_STATE);
requiredPermissions.add(android.Manifest.permission.BLUETOOTH);
requiredPermissions.add(android.Manifest.permission.BLUETOOTH_ADMIN);
requiredPermissions.add(android.Manifest.permission.ACCESS_COARSE_LOCATION);
requiredPermissions.add(android.Manifest.permission.ACCESS_FINE_LOCATION);
requiredPermissions.add(android.Manifest.permission.READ_EXTERNAL_STORAGE);
for (int i = 0; i < requiredPermissions.size(); i++) {
if (ContextCompat.checkSelfPermission(mContext, requiredPermissions.get(i)) != PackageManager.PERMISSION_GRANTED) {
isPermissionOK = false;
break;
}
}
}
if (!isPermissionOK) {
return;
}
相关问题
- 1. 在Android中撤销运行时权限
- 2. Android:函数没有在运行时权限在Android中运行
- 3. 使用SDK的Android运行时权限
- 4. 处理Android运行时权限
- 5. Android运行时权限不起作用
- 6. 在运行时询问权限Android M +
- 7. android:运行时请求权限
- 8. 在运行时Android权限与片段
- 9. Android M运行时权限问题
- 10. Android运行时位置服务权限
- 11. react-native询问Android运行时权限
- 12. 运行时权限处理
- 13. 运行时权限异常
- 14. 重置运行时权限
- 15. 权限在运行时
- 16. 运行的权限
- 17. 启动时的运行时权限
- 18. Android的运行权限(权限被拒绝)
- 19. 询问运行权限onMapsReady Android的
- 20. 关于Android M中的运行时权限模型
- 21. 检查Android设备中应用程序的运行时权限
- 22. Android版本低于M的Android运行时权限?
- 23. Android运行时权限 - 用户授予权限,没有在onRequestPermissionsResult中接收它的权限
- 24. 运行时权限:授权后立即没有权限
- 25. 第一次启动时的Android运行时权限
- 26. 从设置中检查Android运行时权限
- 27. 无法在Android中设置运行时权限
- 28. 如何在Android中使用运行时权限数据库
- 29. 红米电话的运行时权限
- 30. 离子运行android - 权限问题
我正在使用Dexter应用程序权限库!当应用程序启动时,它会要求获得CALL权限。它可以在棉花糖和牛轧糖上正常工作,但是app版本会在较低版本上关闭。如果我删除了德克斯特权限的应用程序适用于较低的Android版本的罚款,但后来它不要求对棉花糖的权限高。 –