是否可以爲用戶提供權限時顯示的系統對話框提供自定義文本?爲Android M權限對話框提供自定義文本
回答
不,你不能自定義對話框中的文本,但你可以請求之前提供解釋的權限。從developer.android.com報價:
請求權限
如果您的應用程序需要的是在應用 清單中列出一個危險的權限,它必須向用戶授予權限。 Android 提供了幾種可用於請求許可的方法。調用 這些方法會調出一個標準的Android對話框,您無法自定義 。
解釋爲什麼應用程序需要的權限
在某些情況下,你可能想幫助用戶理解爲什麼 您的應用程序需要的權限。例如,如果用戶啓動了一個 攝影應用程序,用戶可能不會感到驚訝的是應用程序 要求許可使用攝像頭,但用戶可能不知道爲什麼該應用程序想要訪問用戶的位置或 聯繫人。在您申請許可之前,您應該考慮 向用戶提供解釋。請記住,你不希望 用解釋壓倒用戶;如果您提供的解釋太多,用戶可能會發現該應用令人沮喪並將其刪除。您可以使用
一種方法是爲只在 用戶已經拒絕了該許可請求的解釋。如果用戶保持 嘗試使用需要許可但保留 拒絕許可請求的功能,這可能表示用戶 不明白爲什麼應用程序需要提供該功能的權限。在這樣的情況下, 顯示一個解釋可能是一個好主意。
爲了幫助找到用戶可能需要說明的情況, Android提供了一種實用方法, shouldShowRequestPermissionRationale()。如果此應用程序先前已請求此許可,並且用戶拒絕 請求,則此方法返回true。
我們不能自定義請求允許對話,但我們可以提供用戶自定義的解釋就是爲什麼我們要求下面是使用自定義的解釋方法
private void checkForCameraPermission() {
// Here, thisActivity is the current activity
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.CAMERA)
!= PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.CAMERA)) {
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(this);
alertBuilder.setCancelable(true);
alertBuilder.setTitle("Camera permission necessary");
alertBuilder.setMessage("FITsociety need camera permission to read barcode.");
alertBuilder.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
ActivityCompat.requestPermissions(BarCodeScannerActivity.this,
new String[]{Manifest.permission.CAMERA},
MY_PERMISSIONS_REQUEST_CAMERA);
}
});
AlertDialog alert = alertBuilder.create();
alert.show();
} else {
// No explanation needed, we can request the permission.
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.CAMERA},
MY_PERMISSIONS_REQUEST_CAMERA);
// MY_PERMISSIONS_REQUEST_CAMERA is an
// app-defined int constant. The callback method gets the
// result of the request.
}
} else {
setBarCodeScannerView();
}
}
上述方法檢查是否允許,如果不是已經被授予然後檢查是否定製的解釋是需要用這個方法
ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.CAMERA)
此方法的文檔是在這裏shouldShowRequestPermissionRationale()這個方法還真只有如果用戶拒絕權限對話框或用戶關閉應用程序設置的權限(如果用戶這樣做),則顯示帶自定義解釋的警報對話框,並繼續進一步指望它可以工作
- 1. 如何在Android中自定義權限對話框?
- 2. 爲推送通知自定義iOS權限對話框
- 3. Android:自定義提醒對話框出現在DEFULT對話框
- 4. android自定義對話框
- 5. Android自定義對話框
- 6. Android自定義對話框
- 7. 自定義對話框Android
- 8. Android M檢測權限對話框是否可見
- 9. 對話框中的Android M權限問題「不要再詢問」
- 10. 自定義對話框成爲Android的
- 11. 自定義對話框爲Android
- 12. 自定義Facebook授權對話框?
- 13. Facebook權限對話框不會提示
- 14. 如何爲自定義腳本提供自定義文檔?
- 15. Android M AppWidgetProvider權限
- 16. MarshMallow權限對話框不會提示
- 17. 如何提供android M的權限以運行位置服務?
- 18. 從Android中的自定義對話框請求運行時權限
- 19. 定義自定義權限Android
- 20. Android - 從另一個自定義對話框顯示自定義對話框
- 21. Android - 自定義對話框 - 無法從EditText獲取文本
- 22. 自定義文本對話框實現的OnClick聽衆的Android
- 23. Android SDK,在自定義對話框佈局中設置文本
- 24. Android 6.0權限對話框不顯示
- 25. 設備管理權限對話框Android
- 26. 面向Android的Facebook集成:自定義Facebook應用提供的對話框?
- 27. 自定義對話框XML
- 28. Sharepoint爲庫提供權限
- 29. Android自定義列表對話框
- 30. Android的對話框自定義樣式