【发布时间】:2011-02-11 09:12:08
【问题描述】:
伙计,当我发送一个要求拍照的意图时,我仍然无法保存图片。这就是我正在做的事情:
-
创建一个表示路径名的 URI
android.content.Context c = getApplicationContext(); String fname = c.getFilesDir().getAbsolutePath()+"/parked.jpg"; java.io.File file = new java.io.File( fname ); Uri fileUri = Uri.fromFile(file); -
创建 Intent(不要忘记 pkg 名称!)并开始活动
private static int TAKE_PICTURE = 22; Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE ); intent.putExtra("com.droidstogo.boom1." + MediaStore.EXTRA_OUTPUT, fileUri); startActivityForResult( intent, TAKE_PICTURE ); 相机活动开始,我可以拍照并批准。然后我的
onActivityResult()被调用。但是我的文件没有被写入。 URI 为:file:///data/data/com.droidstogo.boom1/files/parked.jpg我可以创建缩略图 OK(通过不将额外内容放入 Intent),并且可以写入该文件 OK,然后再将其读回。
谁能看出我犯了什么简单的错误? logcat 中没有任何明显的显示 - 相机显然正在拍照。谢谢,
彼得
我应该提到我在 AndroidManifest.xml 文件中设置了适当的权限:
<uses-permission android:name="android.permission.READ_OWNER_DATA" />
<uses-permission android:name="android.permission.WRITE_OWNER_DATA" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-library android:name="com.google.android.maps" />
</application>
有什么想法吗?有什么想法可以尝试,以获取有关该问题的更多信息?
【问题讨论】:
-
也许这个question 可以提供帮助。
-
你能放一些代码以便更好地理解问题
标签: android image file camera save