我有一些基于 HTML5 的页面,我希望它将其部署在设备的 sdcard 中并像普通的 .apk 应用程序一样访问它
问问题
1279 次
3 回答
2
感谢每一位我得到解决方案的人从 sdcard 获取 html 页面,这可能是我使用以下代码的更好方法。下面的代码也使用完全激活 java 脚本设置和所有
package com.WebView.ebook;
import android.app.Activity;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.os.Environment;
import android.view.Window;
import android.view.WindowManager;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class WebVieweBookActivity extends Activity {
WebView wvMain;
String urlfunBook="file://"+Environment.getExternalStorageDirectory()+"/test.html";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setContentView(R.layout.main);
wvMain=(WebView)findViewById(R.id.webView1);
WebSettings webSettings8 = wvMain.getSettings();
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
wvMain.getSettings().setJavaScriptEnabled(true);
wvMain.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
wvMain.getSettings().setPluginsEnabled(true);
wvMain.getSettings().setSupportZoom(false);
wvMain.getSettings().setCacheMode(wvMain.getSettings().LOAD_NO_CACHE);
webSettings8.setPluginState(WebSettings.PluginState.ON);
wvMain.setWebViewClient(new WebViewClient());
wvMain.getSettings().setSupportMultipleWindows(true);
wvMain.getSettings().setPluginsEnabled(true);
wvMain.getSettings().setUseWideViewPort(true);
wvMain.getSettings().setLoadWithOverviewMode(true);
wvMain.setWebChromeClient(new WebChromeClient());
wvMain.getSettings().setAllowFileAccess(true);
wvMain.loadUrl(urlfunBook);
wvMain.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
// Handle the error
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
if(!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
System.exit(4);
}
else {
wvMain.loadUrl(urlfunBook);
}
}
}
于 2012-07-02T14:04:07.597 回答
2
除非您使用 web 视图创建应用程序并以这种方式加载 html 页面,否则您将无法像应用程序一样访问它。即使那样,这也可能行不通。
例如 -如何在 android 上加载保存在 sdcard 中的 Html 页面?
您可以使用浏览器并在本地访问文件。
或者您可以使用其中一种网络应用程序开发工具,例如 http://phonegap.com/
于 2012-05-15T10:20:23.783 回答
2
使用PhoneGap API或SensaTouch API使用jquery mobile构建带有 html 页面的 Android 应用程序。然后可以使用Eclipse生成 apk 文件。
于 2012-05-15T10:25:48.590 回答