-1

Как я могу получить MY_PERMISSIONS_REQUEST_READ_PHONE_STATE в коде ниже? Я этого не видел. Я искал в dev.android.com, но ничего не нашел.разрешение android marshmallow

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

Как вы можете видеть в комментариях, это приложение определенных ИНТ константа, так просто определить его как таковой:

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

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

Затем используйте его onRequestPermissionsResult():

@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

Я этого не видел :( –

Смежные вопросы