我有一个Android应用,我想从其中一个活动访问相机。此外,我想将照片存储在应用程序内部目录(data/data/package...
)中。
但是相机没有在此目录中写入的权限。我不想使用我自己的相机实现,因为我在过去遇到了一些问题。所以我想知道是否有任何方法可以为相机提供所需的许可。我通过使用ContentResolver/ContentProvider
看到了一些方法,但我想让它更简单。
因此,我想知道是否使用PendingIntent
来调用相机而不是经典的Intent可以完成这项工作。可能吗?你能告诉我一些代码片段吗?
以下是我当前调用相机的代码:
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
File file = new File(Environment.getExternalStorageDirectory()+File.separator + "my_image.jpg");
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
startActivityForResult(intent, CAPTURE_REQUEST_CODE);
答案 0 :(得分:0)
快速思考为什么不试试以下内容。使用外部存储最初使用MediaStore.EXTRA_OUTPUT文件创建文件,如上所示。然后在onActivityResult中将文件重命名为私有存储中的文件。