我正在研究一個請求運行時權限的應用程序。我怎樣才能使它在所有的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版本的罰款,但後來它不要求對棉花糖的權限高。 –