how open local html page in browser

前端 未结 5 1833
被撕碎了的回忆
被撕碎了的回忆 2020-12-20 20:51

I am making an application in which i want to open a local html page in the browser. I am able to open google.com. But when i\'m opening local html file. But i am getting fo

5条回答
  •  独厮守ぢ
    2020-12-20 21:30

    file:///android_asset/www/trialhtml.html means nothing to an external application like the Web Browser. Any files in your assets are not accessible by other applications. You have 2 options.

    1. Copy the html file to shared storage so that the the file can be accessed by the webbrowser.
    2. Implement a WebView within a new Activity or fragment in your application then webview.loadUrl("file:///android_asset/www/trialhtml.html");

    You do not need to read the asset like other answers are instructing you. WebView will handle this all behind the scenes, including loading other assets like images

    As a side note, if the web browser was able to read your files, you would not want to use

            i.setClassName("com.android.browser", "com.android.browser.BrowserActivity");
    

    This is because you are explicitly asking for a certain browser, which may or may not be installed on the user's device. I'm reasonably sure this isn't the case on some modern Android devices that come with only Chrome installed. The correct usage would be something like

    Uri uri = Uri.parse("http://www.example.com"); 
    Intent intent = new Intent(Intent.ACTION_VIEW, uri);
    startActivity(intent);
    

    By not explicitly setting the class and package name, this ensures that no matter which web browser is installed, the users default will be picked.

提交回复
热议问题