2017-10-12 2 views
-1

위해 나는이 코드내가 어떻게 다시 요청 권한 카메라

int PERMISSION_ALL = 1; 
    String[] PERMISSIONS = {CAMERA, RECORD_AUDIO ,Manifest.permission.WRITE_EXTERNAL_STORAGE, ACCESS_FINE_LOCATION}; 

    if(!hasPermissions(this, PERMISSIONS)){ 
     ActivityCompat.requestPermissions(this, PERMISSIONS, PERMISSION_ALL); 
    } 

및 내 애플은 카메라 경우, 다음 활동으로 이동 저장 및 기록 오디오 권한을 쓸 필요

public static boolean hasPermissions(Context context, String... permissions) { 
    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && context != null && permissions != null) { 
     for (String permission : permissions) { 
      if (ActivityCompat.checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED) { 
       return false; 
      } 
     } 
    } 
    return true; 
} 

을 사용하고 있습니다 제공된다. 요청이 거부되면 어떻게 다시 요청할 수 있습니까?

답변

0

허가 결과를 처리 할 수 ​​onRequestPermissionsResult() 방법을 사용

String permission = Manifest.permission.CAMERA; 
     int grant = ContextCompat.checkSelfPermission(this, permission); 
     if (grant != PackageManager.PERMISSION_GRANTED) { 
      String[] permission_list = new String[1]; 
      permission_list[0] = permission; 
      ActivityCompat.requestPermissions(this, permission_list, 1); 
     } 

이 사용자가

@Override 
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { 
    super.onRequestPermissionsResult(requestCode, permissions, grantResults); 
    if (requestCode == 1) { 
     Toast.makeText(this, "Camera Permission granted", Toast.LENGTH_SHORT).show(); 
    } else { 
     Toast.makeText(this, "Camera Permission granted", Toast.LENGTH_SHORT).show(); 
    } 
} 
을 권한을 부여하거나하지 않는 것이 시도