【发布时间】:2018-02-16 01:49:47
【问题描述】:
我有一个名为 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
【问题讨论】:
-
我知道 StackOverflow 上有非常相似的问题,我尝试按照他们的建议进行操作,但我一直收到错误
-
NPE?
java.lang.SecurityException: Permission Denial怎么样 -
我尝试按照他们的建议进行操作,那是什么?
-
对不起,我的意思是@ScaryWombat
-
需要提供运行时权限,由于Android 6.0引入了新的运行时权限模型,
标签: java android android-studio android-camera