美文网首页
权限检查PermissionChecker

权限检查PermissionChecker

作者: 放纵的卡尔 | 来源:发表于2018-11-15 10:25 被阅读0次
PermissionChecker.checkSelfPermission(MainActivity.this, Manifest.permission.CAMERA);

此方法可针对TargetSDK<23,本机ROM>23,但是却无法准确检测权限的问题.

当build.SDK(实际ROM)小于23的时候,无法判断权限.只能通过异常.参看微信.
当build.sdk>23 target<23 PermissionChecker.checkSelfPermission
当build.sdk>23 target>23 ActivityCompat.checkSelfPermission

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button btn = findViewById(R.id.btn);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                //当build.SDK(实际ROM)小于23的时候,无法判断权限.只能通过异常.参看微信.
                //当前build.sdk>23  target<23   PermissionChecker.checkSelfPermission
                //当build.sdk>23    target>23   ActivityCompat.checkSelfPermission

                //针对Build.VERSION.SDK_INT<23&&(getApplicationInfo().targetSdkVersion<23||>23)默认是有权限的==0;
                int i = ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CAMERA);
                Log.e("ActivityCompat.check",i+"=========");
//                ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.CAMERA},1001);

                //这种方案只能检测实际romBuild.VERSION.SDK_INT>23&&getApplicationInfo().targetSdkVersion<23以下的权限;
                //针对Build.VERSION.SDK_INT<23&&(getApplicationInfo().targetSdkVersion<23||>23)默认是有权限的==0;
                int i1 = PermissionChecker.checkSelfPermission(MainActivity.this, Manifest.permission.CAMERA);
                Log.e("PermissionChecker","执行到这了么??"+i1+"===="+Build.VERSION.SDK_INT+"==="+MainActivity.this.getApplicationInfo().targetSdkVersion);

                //==0 允许 -2 禁止 -1 询问
                Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
                startActivityForResult(intent, 1002);
                /*Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                startActivityForResult(intent, 1001);*/
//                gotoPickAndCropSmallBitmap();

            }
        });

    }


相关文章

网友评论

      本文标题:权限检查PermissionChecker

      本文链接:https://www.haomeiwen.com/subject/exiefqtx.html