[Android Studio:自动允许使用相机拍摄照片和视频的权限

问题描述 投票:0回答:1

我创建了具有摄像头功能的系统。该相机将拍摄照片并将其保存到数据库。如果我想使用摄像头功能,它将弹出一条消息,允许应用程序使用或不使用摄像头。如果按“允许”,则可以从相机拍摄照片。但是当我按“拒绝”时,如果我按回相机按钮,则该应用程序将停止运行。

因此,我要使许可摄像机自动被允许,这意味着,如果用户按下摄像机按钮,则没有弹出消息来选择允许或拒绝。有谁想知道如何解决?

下面是我当前的相机代码

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_task_update_before);

            EnableRuntimePermission();

            btnCameraBefore.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                    intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);

                    startActivityForResult(intent, 7);

                }
            });
        }

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == 7 && resultCode == RESULT_OK) {

            Bitmap bitmap = (Bitmap) data.getExtras().get("data");

            imgAttachBefore.setImageBitmap(bitmap);
            photoBefore();
        }

    }

    public void EnableRuntimePermission(){

        if (ActivityCompat.shouldShowRequestPermissionRationale(TaskUpdateBefore.this,
                Manifest.permission.CAMERA))
        {

            Toast.makeText(TaskUpdateBefore.this,"CAMERA permission allows us to Access CAMERA app", Toast.LENGTH_LONG).show();

        } else {

            ActivityCompat.requestPermissions(TaskUpdateBefore.this,new String[]{
                    Manifest.permission.CAMERA}, RequestPermissionCode);
        }
    }

    @Override
    public void onRequestPermissionsResult(int RC, String per[], int[] PResult) {

        switch (RC) {

            case RequestPermissionCode:

                if (PResult.length > 0 && PResult[0] == PackageManager.PERMISSION_GRANTED) {

                    Toast.makeText(TaskUpdateBefore.this,"Permission Granted, Now your application can access CAMERA.", Toast.LENGTH_LONG).show();

                } else {

                    Toast.makeText(TaskUpdateBefore.this,"Permission Canceled, Now your application cannot access CAMERA.", Toast.LENGTH_LONG).show();

                }
                break;
        }
    }
android android-studio android-camera android-permissions
1个回答
0
投票

一种简化整个过程的解决方案可能是使用一个名为EasyPermissions的库

© www.soinside.com 2019 - 2024. All rights reserved.