我已经阅读了这篇文章:从 android 中的相机意图获取 uri但这对我没有帮助。为了处理相机请求,我使用了以下代码: 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);} @Overrideprotected 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());"有什么帮助吗?谢谢!
1 回答
慕工程0101907
TA贡献1887条经验 获得超5个赞
通过将以下内容添加到“AndroidManifest”来修复:
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>
添加回答
举报
0/150
提交
取消