2016-08-25 32 views
0

我有問題! 正在開發中。我已經在Manifest文件中聲明瞭權限。如何判斷接受讀取聯繫人權限或不是android?

有一個要求:如果我拒絕在系統安全軟件(如MIUI/EmotionUI/Flyme等)中讀取「聯繫人」權限,下次打開此活動時,應顯示一個對話框告訴我「拒絕當前軟件閱讀聯繫人,請轉到設置並接受此權限「。

但現在,我不知道如何檢查自己是否接受此權限或沒有,我需要幫助。

幫幫我,謝謝!

+0

如若谷歌的東西在這裏發佈之前。只是檢查有關權限的Android文檔[這裏](https://developer.android.com/training/permissions/requesting.html#perm-check) – Aystub

回答

0

使用這兩種方法來檢查許可並要求許可如果沒有可用

private boolean checkPermission(){ 
     int result = ContextCompat.checkSelfPermission(context, Manifest.permission.READ_CONTACTS); 
     if (result == PackageManager.PERMISSION_GRANTED){ 
      return true; 
     } else { 
      return false; 
     } 
    } 

    private void requestPermission(){ 
     if (ActivityCompat.shouldShowRequestPermissionRationale(activity,Manifest.permission.READ_CONTACTS)){ 
      Toast.makeText(context,"read contact permission.",Toast.LENGTH_LONG).show(); 
     } else { 
      ActivityCompat.requestPermissions(activity,new String[]{Manifest.permission.READ_CONTACTS},PERMISSION_REQUEST_CODE); 
     } 
    } 
+0

我試過這種方式,但它沒有工作,然後我掃描ActivityCompat.shouldShowRequestPermissionRationale註釋,它在SDK 23中生效,ActivityCompat.requestPermissions似乎被稱爲失敗,我重寫了onRequestPermissionsResult,但它不起作用。 23歲以前如何解決? –

+0

可以請你告訴AndroidManifest.xml文件 – Rahul

+0

'<用途的許可安卓:名稱=「android.permission.READ_CONTACTS」 />' –

相關問題