Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 6.0权限和目标_Android - Fatal编程技术网

Android 6.0权限和目标

Android 6.0权限和目标,android,Android,我需要将新的许可添加到一个旧项目中,该项目仍然必须坚持使用ant building。以下是以前的配置: 项目属性: target=android-23 AndroidManifest.xml: 我将AndroidManifest.xml更改为 但发现在我的Android 6.0手机上,它仍然警告我,我的应用程序与最新的Android许可要求不兼容。它的行为就好像它真的针对23岁以前的儿童 那么有什么解决方案吗?我只是分享了添加权限检查的代码,这是自MarshnAllow以来的一个强制性过程。

我需要将新的许可添加到一个旧项目中,该项目仍然必须坚持使用ant building。以下是以前的配置:

项目属性:
target=android-23

AndroidManifest.xml:

我将AndroidManifest.xml更改为

但发现在我的Android 6.0手机上,它仍然警告我,我的应用程序与最新的Android许可要求不兼容。它的行为就好像它真的针对23岁以前的儿童


那么有什么解决方案吗?

我只是分享了添加权限检查的代码,这是自MarshnAllow以来的一个强制性过程。例如,我检查是否允许访问摄像头

private void launchCamera() {

    if (ContextCompat.checkSelfPermission(this,
            Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
        if (ActivityCompat.shouldShowRequestPermissionRationale(MyActivity.this,
                Manifest.permission.CAMERA)) {
            // Showing explanation to user to require permission

          // <Build a dialog here. Following shows how to handle dialog clicks>

            dialog.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    // Yes, user wants to give permission
                    dialog.dismiss();
                    ActivityCompat.requestPermissions(MyActivity.this,
                            new String[] {Manifest.permission.CAMERA},
                            Constants.PERMISSION_CAMERA);
                }
            });
            alog.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    // No, user does not want to give permission now
                    dialog.dismiss();
                }
            });

        } else {
            // No explanation needed, requesting for permission now.
            ActivityCompat.requestPermissions(this,
                    new String[] {Manifest.permission.CAMERA},
                    Constants.PERMISSION_CAMERA);
        }

    } else {
        // Permission to get location has been granted already.
        try {
            Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(intent, Constants.CAMERA_CAPTURE_REQUEST);
        } catch (ActivityNotFoundException e) {
            e.printStackTrace();
            Log.e(TAG, "Camera is not found!");
        }

    }
}

我只是共享代码来添加权限检查,这是自MarshnAllow以来的强制过程。例如,我检查是否允许访问摄像头

private void launchCamera() {

    if (ContextCompat.checkSelfPermission(this,
            Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
        if (ActivityCompat.shouldShowRequestPermissionRationale(MyActivity.this,
                Manifest.permission.CAMERA)) {
            // Showing explanation to user to require permission

          // <Build a dialog here. Following shows how to handle dialog clicks>

            dialog.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    // Yes, user wants to give permission
                    dialog.dismiss();
                    ActivityCompat.requestPermissions(MyActivity.this,
                            new String[] {Manifest.permission.CAMERA},
                            Constants.PERMISSION_CAMERA);
                }
            });
            alog.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    // No, user does not want to give permission now
                    dialog.dismiss();
                }
            });

        } else {
            // No explanation needed, requesting for permission now.
            ActivityCompat.requestPermissions(this,
                    new String[] {Manifest.permission.CAMERA},
                    Constants.PERMISSION_CAMERA);
        }

    } else {
        // Permission to get location has been granted already.
        try {
            Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(intent, Constants.CAMERA_CAPTURE_REQUEST);
        } catch (ActivityNotFoundException e) {
            e.printStackTrace();
            Log.e(TAG, "Camera is not found!");
        }

    }
}

您有2个选项:1-降低目标API,使用22或更低。2-实现新的权限系统根据本教程@MatPag我已在代码中实现了新的权限系统,并将目标设置为23,但其行为仍与目标更低类似。您有2个选项:1-降低目标API,使用22或更低。2-实现新的权限系统根据本教程@MatPag,我已经在代码中实现了新的权限系统,并将目标设置为23,但它的行为仍然像它的目标更低。