无法在PC上看到通过getExternalStoragePublicDirectory保存的图片

时间:2013-04-17 11:28:01

标签: android camera file-permissions save nexus-7

链接到问题底部的解决方案/解决方法

我使用Android tutorial编写代码,通过意图打开nexus 7相机并拍照。除非我从

更改了文件对象初始化代码,否则它无法正常工作

File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES), "MyCameraApp");

File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES) + File.separator +"MyCameraApp");

,当调用intent.getData()时,onActivityResult仍然为空。回到手头的问题:我可以在平板电脑上看到保存的图像浏览,但是当我通过USB在PC上浏览时却看不到。

我做错了什么?我认为使用getExternalStoragePublicDirectory制作的文件是完全可访问的。我的代码可能还有其他问题吗?我是否需要以某种方式“告诉”相机应用程序将其保存为MODE_WORLD_READABLE或其他内容?

花费数小时和数小时试图使其正常工作 - 任何帮助都将不胜感激!

我可以发布我的其余代码,如果它有帮助 - 它几乎与Android tutorial相同。

编辑:这是由nexus 7和4的已知问题引起的。请参阅解决方案的第二个链接

Saving files on external storage on Nexus 7 and retrieving from PC

Nexus 4 not showing files via MTP

1 个答案:

答案 0 :(得分:0)

我做类似的事情:

File photo = new File(Environment.getExternalStorageDirectory(),
                "filename.jpg");
        mImageUri = Uri.fromFile(photo);
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE)
                .putExtra(MediaStore.EXTRA_OUTPUT, mImageUri);
        startActivityForResult(intent, REQUEST_CODE_TAKE_PHOTO);

从终端(或cmd)获取并保存照片电话后:

adb pull /mnt/storage/sdcard/filename.jpg c:\ folder

从c:\文件夹中获取结果照片。您可以使用日志或调试器来监控设备上的mImageUri地址。

PS:不要忘记权限about permissions