在我的应用程序中,有一个使用相机捕捉图像的工具。在Android6之前的所有版本中,它都能完美地工作,但在Android7.0版本中,它让我的应用程序崩溃了。
<uses-permission android:name="android.permission.CAMERA" />
添加的权限
if (ContextCompat.checkSelfPermission(AddFamilyMemberActivity.this,
android.Manifest.permission.CAMERA)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(AddFamilyMemberActivity.this,
new String[]{android.Manifest.permission.CAMERA},
1);
} else {
sendToExternalApp();
}
权限侦听器
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == 1 && permissions[0].equals(android.Manifest.permission.CAMERA) &&
grantResults[0] == PackageManager.PERMISSION_GRANTED) {
sendToExternalApp();
} else if (requestCode == 1 && permissions[0].equals(android.Manifest.permission.CAMERA) &&
grantResults[0] == PackageManager.PERMISSION_DENIED) {
Utilities.showSnackBar("You need to enable camera permission for update profile image", this);
}
}
打开相机的代码
protected void sendToExternalApp()
{
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
mProcessingPhotoUri = getImageFile();
intent.putExtra(MediaStore.EXTRA_OUTPUT, mProcessingPhotoUri);
activity.startActivityForResult(intent, REQUEST_CODE_SELECT_IMAGE);
}
崩溃日志
由:android.content.activityNotFoundException引起:未找到处理意图的活动{act=android.media.action.image_capture flg=0x3 clip={text/uri-list u:file:///storage/emulated/0/dcim/qdhealt/profile.jpg}(有额外内容)}
您的第一个屏幕检查permisson,如下所示
onCreate(或)initialize
if ((ContextCompat.checkSelfPermission(LoginActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED)) {
requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA},
MY_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE);
}
下置法
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
switch (requestCode) {
case PERMISSIONS_CODE:
if (grantResults.length <= 0 || grantResults[0] != PackageManager.PERMISSION_GRANTED) {
Toast.makeText(this, "Permission denied", Toast.LENGTH_SHORT).show();
}
break;
default:
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
break;
}
}
我尝试在1个应用程序中构建扫描仪和生成器。当我按下发电机按钮时,它突然崩溃了。我的日志中没有任何错误或警告。 这是我的生成器代码: 主活动代码: 有人知道怎么解决这个问题吗?请帮帮我。 更新 以下是我的生成器xml代码: 我希望这将有助于我的问题:( 更新:这是由我愚蠢的打字错误修正;)。非常感谢迄今为止所有回答我问题的人。我说不出我有多感激。特别是对于那个我已经投票支持正确答案的家伙。你真是个英
我的应用程序在Android 7.0中打开相机时崩溃
我只有一个窗口,在那里你推菜单->首选项并启动一个意图 它自动地表示必须关闭应用程序。 未捕获的处理程序:由于未捕获的异常导致线程主退出 java.lang.runtimeException:无法启动活动ComponentInfo{com.example.app/com.example.app.PreferenciasGenerales}: java.lang.ClassCastException
我正在尝试在Flutter中构建一个条形码扫描仪应用程序,为此,我正在使用这个插件,我将其添加到,修改了文件并添加了如下简单代码: 上述方法是在按下按钮时调用的。因此,应用程序加载并我单击按钮,整个模拟器崩溃,没有任何日志或错误消息。这是我在流程中记录的整个日志。最后,它说 这是默认相机应用程序的另一个日志。我似乎找不到发生这种情况的原因。我的模拟器设置都是默认的,我没有更改任何设置,除了后置摄像
我的应用程序有一个问题,我最近开始在Android studio中编程,但我遇到了一个无法解决的问题。所以我有一个包含4个活动的主页面,当我在模拟器中运行程序时,应用程序打开,其中3个活动工作完美,但当我点击打开activity时,我尝试实现滚动条的一个活动崩溃了。 代码如下: 还有撞车: 07/03 16:54:21:正在启动应用程序$adb install-multiple-r-t-p com
主要活动 碎片 这是一个简单对话框的代码。 这里有一个我从中学习的链接。如果我只需通过调用按钮创建对话框,它就可以完全正常工作。