-1

以下のコードでMY_PERMISSIONS_REQUEST_READ_PHONE_STATEを取得するにはどうすればよいですか?私はそれを見ませんでした。 dev.android.comで検索しましたが、何も見つかりませんでした。android marshmallow permission

// Add this definition: 
public static final int MY_PERMISSIONS_REQUEST_READ_PHONE_STATE = 999; 

private void checkPermission() { 
    //..... 
} 

その後、onRequestPermissionsResult()それを使用します:

private void checkPermission() { 
// Here, thisActivity is the current activity 
if (ContextCompat.checkSelfPermission(thisActivity, 
       Manifest.permission.READ_PHONE_STATE) 
     != PackageManager.PERMISSION_GRANTED) { 

    // Should we show an explanation? 
    if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity, 
      Manifest.permission.READ_PHONE_STATE)) { 

     // Show an expanation to the user *asynchronously* -- don't block 
     // this thread waiting for the user's response! After the user 
     // sees the explanation, try again to request the permission. 

    } else { 

     // No explanation needed, we can request the permission. 

     ActivityCompat.requestPermissions(thisActivity, 
       new String[]{Manifest.permission.READ_PHONE_STATE}, 
       MY_PERMISSIONS_REQUEST_READ_PHONE_STATE); 

     // MY_PERMISSIONS_REQUEST_READ_PHONE_STATE is an 
     // app-defined int constant. The callback method gets the 
     // result of the request. 
    } 
} 

答えて

1

あなたがコメントで見ることができるように、これはそうちょうどそのように定義し、アプリケーションに定義されたint型の定数です

@Override 
public void onRequestPermissionsResult(int requestCode, 
             String permissions[], int[] grantResults) { 
    switch (requestCode) { 
     case MY_PERMISSIONS_REQUEST_READ_PHONE_STATE: { 
      // If request is cancelled, the result arrays are empty. 
      if (grantResults.length > 0 
        && grantResults[0] == PackageManager.PERMISSION_GRANTED) { 

       // permission was granted, yay! Do the 
       // read-phone-state-related task you need to do. 


      } else { 

       // permission denied, boo! Disable the 
       // functionality that depends on this permission. 
       Toast.makeText(this, "permission denied", Toast.LENGTH_LONG).show(); 
      } 
      return; 
     } 

     // other 'case' lines to check for other 
     // permissions this app might request 
    } 
} 
+0

あなたはMY_PERMISSIONS_REQUEST_READ_PHONE_STATEをどのように見つけましたか?それで999を書きました。 –

+0

@MuhammedAlmazあなたが望むものであればそれを定義することができます。この例では999にしました。ドキュメントを見てください:https://developer.android.com/reference/android/support/v4/app/ActivityCompat.html –

+0

私はそれを見ませんでした:( –

関連する問題