h5跳转安卓原生app

注意api版本 注意api版本 注意api版本

demo全景图
在这里插入图片描述

1.安卓app端代码

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.webkit.JavascriptInterface;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import androidx.annotation.Nullable;
import com.coral3.aarentrance.R;
import com.coral3.myfragment.MainActivity;

public class HomeActivity extends Activity {
    public WebView webView;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);
    }

    @Override
    protected void onResume() {
        super.onResume();
        webView = (WebView)findViewById(R.id.home_web_view);
        webView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });

        // 支持App内部javascript交互
        webView.getSettings().setJavaScriptEnabled(true);

        // 自适应屏幕
        webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);

        webView.getSettings().setLoadWithOverviewMode(true);

        // 设置可以支持缩放
        webView.getSettings().setSupportZoom(true);

        // 开启DOM缓存,开启LocalStorage存储(html5的本地存储方式)
        webView.getSettings().setDomStorageEnabled(true);

        /*
         *添加js接口,参数1是本地类名,参数2是标记;H5调用需要 "window.标记.类名中的方法名" 才能调用
         */
        webView.addJavascriptInterface(this, "android");

        webView.loadUrl("file:///android_asset/h5/index.html");
    }
    @JavascriptInterface
    public void setToken(String token){
        Log.d("yue-tag", "跳转原生App成功-传来参数为" + token);
        Intent intent = new Intent(this, MainActivity.class);
        intent.putExtra("token", token);
        startActivity(intent);
        finish();
    }
}

2.h5端(js方)

<script>
	export default {
		data() {
			return {
				title: 'Hello-h5项目'
			}
		},
		onLoad() {

		},
		methods: {
			goApp(){
				console.log("跳转安卓原生");
				 //调用Android的setToken()方法
				var result =window.android.setToken("hello wutongyue");
				console.log(result);
			}
		}
	}
</script>
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值