【问题标题】:can not resolve symbol 'CAMERA' in checkSelfPermission method无法在 checkSelfPermission 方法中解析符号“CAMERA”
【发布时间】:2016-07-20 20:09:54
【问题描述】:
I need to ask for runtime permission to use camera in my fragment class.my code is like this..


int currentapiVersion = android.os.Build.VERSION.SDK_INT;

if (currentapiVersion >= Build.VERSION_CODES.M) {

                if (ActivityCompat.checkSelfPermission(getActivity(), Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {

                    requestPermissions(getActivity(), new String[]{Manifest.permission.CAMERA}, REQUEST_CODE_ASK_PERMISSIONS);........

但是,它显示-无法解析符号'CAMERA'

【问题讨论】:

    标签: android android-camera android-permissions android-6.0-marshmallow runtime-permissions


    【解决方案1】:

    将以下语句导入您的代码。

    import android.Manifest;
    
      int permissionCheckStorage = ContextCompat.checkSelfPermission(getActivity(),
                            Manifest.permission.CAMERA);
                    if (permissionCheckStorage == PackageManager.PERMISSION_DENIED) {
                        requestPermissions(new String[]{Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE}, REQUEST_WRITE_STORAGE);
                    }
    

    【讨论】:

    • 谢谢。现在我在 requestPermissions(getActivity(), new String[]{Manifest.permission.CAMERA}, REQUEST_CODE_ASK_PERMISSIONS) 处收到错误消息;试过 FragmentCompat.requestPermissions().bt 没用。
    • @ben10 您收到错误,因为您需要请求权限
    • sry 我做对了。requestPermissions(new String[]{Manifest.permission.CAMERA}, REQUEST_CODE_ASK_PERMISSIONS);就足够了。额外的参数-getActivity 使情况变得更糟。
    【解决方案2】:

    试试这个:

    if (checkSelfPermission(Manifest.permission.CAMERA)
        != PackageManager.PERMISSION_GRANTED) {
    
    requestPermissions(new String[]{Manifest.permission.CAMERA},
            MY_REQUEST_CODE);
    }
    
    @Override
    public void onRequestPermissionResult(int requestCode, String[] permissions, int[] grantResults) {
    if (requestCode == MY_REQUEST__CODE) {
        if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            // Now user should be able to use camera
        }
        else {
            // Your app will not have this permission. Turn off all functions 
            // that require this permission or it will force close like your 
            // original question
        }
    }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-20
      • 1970-01-01
      • 2015-09-07
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 2018-11-11
      • 1970-01-01
      相关资源
      最近更新 更多