2017-02-01 2 views
0

Я использую ниже код, чтобы проверить, разрешено ли разрешение камеры в состоянии разрешен или отключено.checkSeflPermission всегда возвращает '0', разрешено ли разрешение включить/отключить

любое состояние, оно всегда возвращает «0». не знаю почему?

код:

@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

Целевой метод должным образом вместе с, добавьте permission к manifest.xml и убедитесь, что ваш mActivity не является нулевым (Используйте this вместо этого, мой предпочтительно):

@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); 

     } 
    } 
Смежные вопросы