1

我正在编写一个文件夹监视程序,我曾在某些设备上工作过,但并非所有设备似乎都保存到同一位置。我正在尝试做的是允许用户使用 Chrome 从网络应用程序中保存图像,然后新文件的存在应该启动另一个进程。

在三星 Galaxy 平板电脑上,图像保存到 /mnt/sdcard/Download/ 并且我监控这个文件夹没有问题。

但是在三星 Galaxy III 手机上,他们会去这里 /storage/sdcard0/android/data/com.android.chrome/files/download 我在监控这个文件夹时遇到权限问题。

所以我想我的问题是双重的。有没有更简单的方法来检测这些图像的保存位置?我正在使用 INTERNAL_CONTENT_URI 和 EXTERNAL_CONTENT_URI,但这并不能让我接电话。

如果在手机上访问文件夹时出现问题,我该怎么做才能解决这个问题?

4

1 回答 1

0

我最终对 External_Content_URI 之后的路径进行了硬编码。

final String protectedpathToWatch = android.os.Environment.getExternalStorageDirectory().toString() + "/Android/data/com.android.chrome/files/Download/";

然后要读取该路径,我必须添加特殊权限。

<uses-permission android:name="android.permission.DEVELOPMENT_TOOLS"/>

这显然是由于影响 Chrome 的安全漏洞造成的。保存从画布生成的图像会存储在其系统目录中,与 cookie 位于同一位置。在他们改变这种行为之前,人们需要使用特殊权限来获得对这些下载的访问权限。

于 2013-05-22T19:00:54.720 回答