0

こんにちは、良い夕方Stackoverflowers、Android Permission APIをリクエストする方法> = 23?

質問がありますこれは私のMainActivityは、外部カードのGPSなどを読み取るためのアクセス許可を要求するには?

私のonCreateにある

checkPermissions();

ので、その後、まだ最適化

private void checkPermissions() { 
    ActivityCompat.requestPermissions(this,new String[]{ 
      Manifest.permission.ACCESS_FINE_LOCATION}, 1); 

    ActivityCompat.requestPermissions(this,new String[]{ 
      Manifest.permission.ACCESS_COARSE_LOCATION}, 2); 

    ActivityCompat.requestPermissions(this,new String[]{ 
      Manifest.permission.READ_EXTERNAL_STORAGE}, 3); 

} 

public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { 
    switch (requestCode) { 
     case 1: { 
      if (grantResults.length > 0 
        && grantResults[0] == PackageManager.PERMISSION_GRANTED) { 
      } else { 
      } 
      return; 
     } 
     case 2: { 
      if (grantResults.length > 0 
        && grantResults[0] == PackageManager.PERMISSION_GRANTED) { 
      } else { 
      } 
      return; 
     } 
     case 3: { 
      if (grantResults.length > 0 
        && grantResults[0] == PackageManager.PERMISSION_GRANTED) { 
      } else { 
      } 
      return; 
     } 
    } 
} 

缶を持っていますか? と権限が照会されますか? または私は完全に間違っていますか?

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 

あなたがそれを使用しようとしている直前にそれらを要求し、onCreateにすべての権限を要求しないでください:

はあなたAndroidManifest.xmlでアクセス許可を宣言する必要があり

答えて

1

まずあなたの答えをありがとう。 権限ごとにこのような1つの方法を実行し、要求を行う前に、既にそれがあるかどうかを確認します。

private void checkReadPermission() { 
    if (ContextCompat.checkSelfPermission(this, 
      Manifest.permission.READ_EXTERNAL_STORAGE) 
     != PackageManager.PERMISSION_GRANTED) { 

     ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 3); 
    } 
} 
+0

おかげで私のcompailerが言うエラー:(482、17)エラー:シンボル変数ContextCompatのEDITを見つけることができません:インポートandroid.support.v4.content.ContextCompat。解決する –

+0

おはようございます、私はギャラクシーS7でこのようなテストをしています。あなたはこの問題を解決するのを助けることができますか? –

+0

mega failマニフェストファイルがありませんupdatetd..now works thx @ juan-cruz-soler –

関連する問題