美文网首页
Adnroid打开网页-打包app来体验手机网站

Adnroid打开网页-打包app来体验手机网站

作者: 蒙双眼看世界 | 来源:发表于2020-06-29 18:14 被阅读0次

记录为主,直接上代码吧。

package com.example.myapplication;

import android.app.Activity;

import android.net.http.SslError;

import android.os.Build;

import android.os.Bundle;

import android.webkit.SslErrorHandler;

import android.webkit.WebChromeClient;

import android.webkit.WebSettings;

import android.webkit.WebView;

import android.webkit.WebViewClient;

public class FullscreenActivityextends Activity {

private WebViewwebView;

@Override

    protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_fullscreen);

init();

}

private void init(){

webView = (WebView) findViewById(R.id.webView);

WebSettings settings =webView.getSettings();

// 如果访问的页面中要与Javascript交互,则webview必须设置支持Javascript

        settings.setDomStorageEnabled(true);//主要是这句

        settings.setJavaScriptEnabled(true);

//android webview 从Lollipop(5.0)开始webview默认不允许混合模式,https当中不能加载http资源,而开发的

        //时候可能使用的是https的链接,但是链接中的图片可能是http的,所以需要设置开启。

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {

settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);

}

settings.setBlockNetworkImage(false);//解决图片不显示

        settings.setJavaScriptCanOpenWindowsAutomatically(true);

settings.setLoadsImagesAutomatically(true);

webView.setWebViewClient(new WebViewClient(){

public boolean shouldOverrideUrlLoading(WebView view, String url){

view.loadUrl(url);

return true;

}

});

//该方法解决的问题是打开浏览器不调用系统浏览器,直接用webview打开

        webView.setWebChromeClient(new WebChromeClient());//这行最好不要丢掉

        webView.setWebViewClient(new WebViewClient() {

@Override

            public void onReceivedSslError(WebView view,SslErrorHandler handler, SslError error) {

//等待证书响应

                handler.proceed();

}

});

//需要加载的网页的url

        webView.loadUrl("https://test.gobricks.cn/");

}

}

XML布局

<?xml version="1.0" encoding="utf-8"?>

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical" >

<!--显示网页区域-->

        android:id="@+id/webView"

        android:layout_below="@+id/text_endLoading"

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"

        android:layout_marginTop="10dp" />

权限设置

<?xml version="1.0" encoding="utf-8"?>

    xmlns:tools="http://schemas.android.com/tools"

    package="com.example.myapplication">

        android:allowBackup="true"

        android:icon="@mipmap/ic_launcher"

        android:label="@string/app_name"

        android:roundIcon="@mipmap/ic_launcher_round"

        android:supportsRtl="true"

        android:theme="@style/AppTheme"

        android:usesCleartextTraffic="true"

        >

            android:name=".FullscreenActivity"

            android:configChanges="orientation|keyboardHidden|screenSize"

            android:label="@string/app_name"

            android:theme="@style/FullscreenTheme">

总结:在搞这个小功能过程中主要遇到的问题是加载不出图片,原因是网是https,但是图片资源却是http,android的webview不支持混合调用,所以得做相关处理,上面都有写注释了。

相关文章

  • Adnroid打开网页-打包app来体验手机网站

    记录为主,直接上代码吧。 package com.example.myapplication; import an...

  • 网页启动Android APK

    点击网页中的URL链接,打开手机中已经存在的Android应用。 网页中URL格式: 打开app 例: 打开app...

  • 10分钟把网站打包成安卓/苹果app

    本文讲解下,如何把一个网站打包成安卓(Android)/苹果(IOS)APP,安装到手机中,并且有完美的用户体验!...

  • MUI

    MUI框架 最接近原生APP体验的高性能前端框架 一、手机体验 已打包好的Hello mui 手机app,直接在手...

  • 手机浏览器值得做吗?

    之前设想,用户在手机浏览器中访问内容时,优先采用App打开。以解决目前手机网页体验不佳,功能孱弱的局面。这样引入了...

  • 产品经理要懂的技术理论基础概要

    当我们打开一个网页或App时,这背后都运用了那些技术来让这个网页和 App 的内容呈现在浏览器和手机上? 驱动这些...

  • 产品经理必懂的技术知识集锦

    当我们打开一个网页或 APP时,这背后都运用了哪些技术来让这个网页和 App 的内容呈现在浏览器和手机上?驱动这些...

  • 网页打开APP

    【背景需求】在一个网页,点击链接,打开app中某一个页面,如果手机存在该app,则直接打开,若不存在,则打开网页。...

  • APP和网页设计必须要会的知识技能

    刚开始工作的时候,APP怎么做?网页怎么做?统统不知道,找很多的网站、手机APP来参考,最后做出似是而非的东西,明...

  • APP、网页设计必须要懂的那些事儿~

    刚开始工作的时候,APP怎么做?网页怎么做?统统不知道,找很多的网站、手机APP来参考,最后做出似是而非的东西,明...

网友评论

      本文标题:Adnroid打开网页-打包app来体验手机网站

      本文链接:https://www.haomeiwen.com/subject/xgagmhtx.html