2017-09-30 2 views
-5
compileSdkVersion 23 
    buildToolsVersion '25.0.0' 
    defaultConfig { 
     minSdkVersion 23 
     targetSdkVersion 23 
    } 

Mon code a été compilé avec succès sans aucun problème, mais quand je le lance, il jette l'erreur ci-dessous.Erreur d'exécution: (53, 45) Erreur: ne peut pas trouver la méthode symbole checkSelfPermission (RuntimePermissionsActivity, String)

Error:(53, 45) error: cannot find symbol method checkSelfPermission(RuntimePermissionsActivity,String) 

Error:(78, 27) error: cannot find symbol method requestPermissions(RuntimePermissionsActivity,String[],int) 

Error:(120, 43) error: cannot find symbol method shouldShowRequestPermissionRationale(RuntimePermissionsActivity,String) 

Error:Execution failed for task ':app:compileDebugJavaWithJavac'. 

Compilation failed; see the compiler error output for details.

Répondre

0

Dans onCreate() de votre activité, faire le traitement dans le bloc if: (vous obtenez l'erreur parce que vous demandez peut-être des permissions avec le traitement simultané dans le onCreate()):

askForPermissions(); 
    if(checkForPermission()){ 
     //Do your processing here 
    } 

Les fonctions sont les suivantes:

void askForPermissions(){ 
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { 
     if(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)!= PackageManager.PERMISSION_GRANTED){ 
      requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE}, PERMISSION_REQUEST_CODE); 
     } 
    } 
} 

boolean checkForPermission(){ 
    return Build.VERSION.SDK_INT >= Build.VERSION_CODES.M; 
}