0

안녕하세요, 좋은 저녁 Stackoverflowers,Android 권한 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; 
     } 
    } 
} 

수 있나요? 권한에 대한 쿼리가 필요합니까? 또는 완전히 잘못 되었나요?

당신이 당신의 AndroidManifest.xml에 권한을 선언 할 필요가 귀하의 답변을

답변

1

먼저 감사 :

<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의 모든 권한을 요청하는 요청하지 마십시오 . 각 권한에 대해 이와 같이 한 가지 방법을 수행하고 요청하기 전에 이미 권한이 있는지 확인하십시오.

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 편집을 찾을 수 없습니다 : 수입 android.support.v4.content.ContextCompat; 해결 –

+0

안녕하십니까, 내 은하계 S7에서이 방법으로 테스트를했으며 읽기 권한을 요청하지 않았습니다 !! 이 문제를 해결하도록 도와 줄 수 있습니까? –

+0

메가 실패 나는 매니 페스트 파일 updatetd가 없습니다. 지금은 작동합니다 thx @ juan-cruz-soler –

관련 문제