试图打开相机会导致我的应用程序崩溃

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

我有一个名为takeNewPic的Button对象,我想打开相机,然后才能拍照。但是,每次我尝试这样做,我的应用程序崩溃。

 takeNewPic = (Button) findViewById(R.id.ConfigTakeNewPic);
 takeNewPic.setOnClickListener(this);

在我的onClick方法中,我调用了takePicture(),它看起来像这样:

static final int REQUEST_IMAGE_CAPTURE = 1;

private void dispatchTakePictureIntent() {
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
        startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
    }
}

在清单中我有线条

 <uses-permission-sdk-23 android:name="android.permission.CAMERA" />
 <uses-permission-sdk-23 android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

但是,我遇到一个错误读取的空指针异常

java.lang.SecurityException: Permission Denial: starting Intent { 
act=android.media.action.IMAGE_CAPTURE 
cmp=com.motorola.cameraone/com.motorola.camera.Camera } from 
ProcessRecord{dffcd00 28714:com.example.bill.hw2/u0a142} (pid=28714, 
uid=10142) with revoked permission android.permission.CAMERA
java android android-studio android-camera
2个回答
1
投票

你检查this link

您需要按照上面的链接中的说明管理运行时权限。


0
投票

您必须从手机本身请求许可。手动转到应用程序设置并允许应用程序使用相机或使用此:

requestPermissions(permissionReq, RECORD_AUDIO_REQUEST_CODE);
© www.soinside.com 2019 - 2024. All rights reserved.