Android 5.1.1 应用看不到本地文件

Android 5.1.1 app doesn't see local files

我使用 Phonegap 网站制作了一个网站并将其变成 Android 应用程序。我的文件存储在 ASUS TF300 平板电脑的本地存储器中,我需要一个应用程序来访问它们。要访问我使用 links 的文件:

file:///sdcard/original_img/3_1_5.jpg

现在是有趣的部分。如果我在 Chrome、Firefox 或平板电脑上的任何其他浏览器中打开此 link - 图像会加载。但是,如果我在其 index.html 中启动具有相同 link 的应用程序,则根本不会加载图像。

会是什么?应用程序和浏览器的存储路径是否有所不同?

如果您使用上述程序,您可能需要允许使用此行进行访问:

mWebView.getSettings().setAllowFileAccess(true);

或尝试使用此替代方法(在 html 中)

String base = Environment.getExternalStorageDirectory().getAbsolutePath().toString();
String imagePath = "file:/"+ base + "/original_img/3_1_5.jpg";
String strimg="<img src=\""+ imagePath + "\" alt=\"\" width=\"168\" height=\"120\" v:shapes=\Picture_x0020_421\" />";

看来您需要将此添加到您的应用中 AndroidManifest.xml :

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

UPDATE 来自聊天对话 (based on this thread) :

添加config.xml:

<preference name="AndroidPersistentFileLocation" value="Compatibility" /> 
<preference name="AndroidExtraFilesystems" value="sdcard,cache" />

文件路径应如下所示:

 file:///sdcard/<path>