java - 尝试打开相机导致我的应用程序崩溃

标签 java android android-studio android-camera

我有一个名为 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);
    }
}

在 list 中我有以下几行

 <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

最佳答案

你检查过吗this link

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

关于java - 尝试打开相机导致我的应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48819027/

相关文章:

android - 相当于 imageView 的文本

Android Studio 2.3 调试控制台没有显示任何有用的内容

android - 由于我不知道的原因无法解析构造函数和方法

java - android - 如何获取发生异常的类和方法名称

java - 主机名在 Lollipop 设备中不匹配,但在 Postman 和 marshmallow 设备中工作正常

java - boolean 赋值不抓,需要多了解

android - Android Studio : White Space Formatting Strategy Factory error

windows - Android Studio 到 Git 可执行文件的路径

java - App Engine + 云数据存储性能 : order in query or in memory?

java - Android 中的线程