我正在研究一個請求運行時權限的應用程序。我怎樣才能使它在所有的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:函數沒有在運行時權限在Android中運行
- 2. 使用SDK的Android運行時權限
- 3. 在運行時詢問權限Android M +
- 4. react-native詢問Android運行時權限
- 5. 在運行時Android權限與片段
- 6. 處理Android運行時權限
- 7. Android M運行時權限問題
- 8. 重置運行時權限
- 9. 運行時權限處理
- 10. 運行時權限異常
- 11. 詢問運行權限onMapsReady Android的
- 12. 檢查Android設備中應用程序的運行時權限
- 13. Android運行時權限 - 用戶授予權限,沒有在onRequestPermissionsResult中接收它的權限
- 14. 第一次啓動時的Android運行時權限
- 15. 如何在Android中使用運行時權限數據庫
- 16. 無法在Android中設置運行時權限
- 17. 從設置中檢查Android運行時權限
- 18. 紅米電話的運行時權限
- 19. 離子運行android - 權限問題
- 20. Android在運行時詢問權限在運行時拋出異常
- 21. Android上的嵌入式Crosswalk運行時權限
- 22. 如何在運行時獲得詳盡的android權限列表?
- 23. 服務的Android運行時位置權限
- 24. 最好的方式來處理運行時權限android
- 25. 如何授予Android API 23的運行時權限?
- 26. 禁用Android M的運行時權限檢查root
- 27. Android M之前的運行時權限(api 14及以上)
- 28. 訪問圖庫的Android 6運行時權限。
- 29. 運行時權限和永不問問權限處理
- 30. React Native SDK運行時權限錯誤
我正在使用Dexter應用程序權限庫!當應用程序啓動時,它會要求獲得CALL權限。它可以在棉花糖和牛軋糖上正常工作,但是app版本會在較低版本上關閉。如果我刪除了德克斯特權限的應用程序適用於較低的Android版本的罰款,但後來它不要求對棉花糖的權限高。 –