Util类中的checkSelfPermission

时间:2017-05-04 08:58:36

标签: android android-permissions

我有几个需要checkSelfPermission()电话的电话。所以我认为将这些检查结合在一个Util类中非常简洁,如下所示:

public boolean checkSelfPermissions(String... permissions) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        for (String permission : permissions) {
            if (ActivityCompat.checkSelfPermission(context,
                    permission) != PackageManager.PERMISSION_GRANTED) {
                return false;
            }
        }
    }
    return true;
}

但是在需要检查的调用之前使用此方法时,我在Android Studio中显示错误,我需要检查此权限。自动生成代码会产生以下代码段:

   if (ActivityCompat.checkSelfPermission(MainApplication.getContext(),
                Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
         return;
   }

那么为什么这个片段被认为是正确的,而调用我的自定义类则不然?电话看起来像这样:

 if (!PermissionUtil.getInstance(MainApplication.getContext()).checkSelfPermissions(
            Manifest.permission.ACCESS_FINE_LOCATION)) {
       return;
 }

0 个答案:

没有答案