【发布时间】:2018-11-10 00:01:18
【问题描述】:
我已经阅读了这篇文章:Get uri from camera intent in android,但这对我没有帮助。
为了处理相机请求,我使用了以下代码:
public void startCamera() {
if (PermissionUtils.requestPermission(
this,
CAMERA_PERMISSIONS_REQUEST,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.CAMERA)) {
//Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
Uri photoUri = FileProvider.getUriForFile(this, getApplicationContext().getPackageName() + ".provider", getCameraFile());
intent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivityForResult(intent, CAMERA_IMAGE_REQUEST);
}
}
public File getCameraFile() {
File dir = getExternalFilesDir(Environment.DIRECTORY_PICTURES);
return new File(dir, FILE_NAME);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CAMERA_IMAGE_REQUEST && resultCode == RESULT_OK) {
Uri photoUri = FileProvider.getUriForFile(this, getApplicationContext().getPackageName() + ".provider", getCameraFile());
uploadImage(photoUri);
}
}
当我调用函数“startCamera”时,应用程序崩溃并在该行出现错误:
Uri photoUri = FileProvider.getUriForFile(this, getApplicationContext().getPackageName() + ".provider", getCameraFile());"
有什么帮助吗?谢谢!
【问题讨论】:
-
@M.A.K.Ripon ..我已经说过那个帖子没有回答我的问题,我试图应用那个帖子下的解决方案,但那些不起作用。
-
有帮助,但我无法解决我的问题......所有这些教程都是为旧版本的 android 制作的......
-
使用 LogCat 检查与您的崩溃相关的 Java 堆栈跟踪:stackoverflow.com/q/23353173/115145。我的猜测是您的
FileProviderXML 元数据配置错误。