0

我有一些基于 HTML5 的页面,我希望它将其部署在设备的 sdcard 中并像普通的 .apk 应用程序一样访问它

4

3 回答 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 页面?

您可以使用浏览器并在本地访问文件。

例如 - https://android.stackexchange.com/questions/4775/how-can-i-open-an-html-file-i-have-copied-from-pc-to-sd-card-of-phone

https://android.stackexchange.com/questions/8312/how-can-i-can-open-local-files-in-the-default-android-browser

或者您可以使用其中一种网络应用程序开发工具,例如 http://phonegap.com/

http://incubator.apache.org/cordova/

于 2012-05-15T10:20:23.783 回答
2

使用PhoneGap APISensaTouch API使用jquery mobile构建带有 html 页面的 Android 应用程序。然后可以使用Eclipse生成 apk 文件。

于 2012-05-15T10:25:48.590 回答