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>
我使用 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>