2017-02-01 10 views
0

以下のコードを使用して、カメラのアクセス許可が有効か無効かを確認しています。checkSeflPermissionは、許可が有効/無効になっているかどうか常に「0」を返します。

どのような状態でも、常に「0」を返します。なぜ分からないの?

コード:(代わりに使用this、私兼ね備え)を適切に伴い

@TargetApi(Build.VERSION_CODES.M) 
public boolean isPermissionEnabled(String permissionToCheck){ 
    if (mActivity.checkSelfPermission(permissionToCheck) != PERMISSION_GRANTED) { 
     return false; 
    } 
    return true; 
} 
+0

'manifest'で許可を宣言していることを確認してください – Wizard

+0

助けがあれば回答を受け入れることを検討してください!!! – W4R10CK

答えて

0

ターゲット方法、manifest.xmlpermissionを追加し、mActivityがnullでないことを確認してください。

@TargetApi(Build.VERSION_CODES.M) 
public boolean isPermissionEnabled(String permissionToCheck){ 
    if (ActivityCompat.checkSelfPermission 
       (this, permissionToCheck) != PackageManager.PERMISSION_GRANTED) 
    { 
     return false; 
    } 
    return true; 
} 
1

第二には、条件の場合有効/無効の許可の場合はtrueまたはfalseを返します。

 if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) { 

     if (checkSelfPermission(Manifest.permission.CAMERA) 
       == PackageManager.PERMISSION_DENIED) { 

      Log.d("permission", "permission denied to camera - requesting it"); 
      String[] permissions = {Manifest.permission.CAMERA}; 

      requestPermissions(permissions, PERMISSION_REQUEST_CODE); 

     } 
    } 
関連する問題