android html 启动app,Android js交互 与 Html启动App
最近项目刚好有做到内部HTML页面跳转原生页面和html代码启动App页面的功能,做完之后觉得相关知识可以整理一下
先说下项目所用到的js交互
android调取JS的方法
WebView直接加载js的方法就好了
代码如下
WebView.loadUrl("javascript:function(arg)")
html调用Android原生方法
//重点实现代码
WebView.addJavascriptInterface(Object object,String name)
Objcet 对象是自己创建的对象,整体代码如下
public class AndroidJs{
@JavascriptInterface
public void test(){}
}
//webview code
WebView.addJavascriptInterface(new AndroidJs(),“AndroidJs” )
//html code
window.AndroidJs.test()
外部HTML启动APP页面
使用Scheme方案设置
在AndroidManifest.xml文件中对应的页面标签添加如下
android:host="hostName"
android:path="path"
android:scheme="schemeName" />
Html代码调用如下
//需要带参数的和http链接的get请求一样
带参数的调用 在Activity中的获取方式
String action = getIntent().getAction();
if(!TextUtils.isEmpty(action)&&Intent.ACTION_VIEW.equal(action)){
Uri uri = getIntent().getData();
if(uri != null){
String id = uri.getQueryParameter("id");
String name = uri.getQueryParameter("name");
}
}
自定义WebView处理scheme格式链接
public void loadUrl(String url){
if(isSchemeUrl(url)){
Intent intent = new Intent();
intent.setData(Uri.parse(url));
startActivity(intent);
}
}
private boolean isSchemeUrl(String url) {
if (TextUtils.isEmpty(url))
return false;
String[] strs = url.split("://");
if (strs.length > 1) {
String host = strs[0];
if (host.equalsIgnoreCase("http") || host.equalsIgnoreCase("https"))
return false;
else
return true;
} else return false;
}
一上是本人在处理Android JS交互 和 html启动APP的一些心得,如有问题,请各位留言
android html 启动app,Android js交互 与 Html启动App相关推荐
- Android开发-Android原生与WebView的js交互的实现
前 言 一般在Android应用的开发过程中,一些核心的业务功能开发往往需要Android原生的开发,一些需要改动比较频繁的功能且不是核心的业务功能往往只需要在Android应用调用一个网页就行了.在 ...
- android和ios HybridApp的js交互
android的webview和js交互 https://github.com/chenhaifeng2016/AndroidWebview ios的uiwebview和js交互 https://gi ...
- Android webview和HTML的JS交互
1.webView加载页面 我们都知道在Android中是通过webView来加载html页面的,根据HTML文件所在的位置不同写法也不同: //例如:加载assets文件夹下的test.html页面 ...
- flutter webview浏览器及与js交互、打开第三方app
添加pubspec.yaml依赖 url_launcher: ^5.4.1 webview_flutter: ^0.3.18+1 --------------main.dart import 'pac ...
- 移动开发周刊:Android ImageView正确使用、WebView与JS交互解析
写在前面 从 2011 年创建首刊至今,移动开发周刊内容聚焦 Android.iOS.VR/AR 等前沿移动开发技术,精选一周最热点,解读开发技巧,从中希望能够让你有一些收获,如果你有好的文章以及优化 ...
- Html5页面和Native App怎么进行交互
webview系列:Html5页面和Native App怎么进行交互 混合开发的App(Hybrid App)就是在一个App中内嵌一个轻量级的浏览器,一部分原生的功能改为Html5来开发,这部分功能 ...
- python调用远程js_python和js交互调用的方法
后台代码都是利用的1.[get方式]使用jquery的get json与后台交互前端js代码片段var data= {'a': $('input[name="a"]').val() ...
- python中和js交互_python和js交互调用的方法
后台代码都是利用的 1.[get方式]使用jquery的get json与后台交互 前端js代码片段 var data= { 'a': $('input[name="a"]').v ...
- Android Studio开发安卓app 安卓与webview中的js交互
Android Studio开发安卓app 安卓与webview中的js交互 1.webview中的页面调用android中的方法 在Android Studio开发安卓app 封装WEB(H5,UR ...
最新文章
- 苹果12 Pro Max和mini测评来了,看完我选择了iPhone 12
- linux下Vi编辑器命令大全
- c# 值类型数据与引用类型数据
- CF986B Petr and Permutations 思维
- nssl1216-码灵鼠【数学】
- Java 7:使用NIO.2进行文件过滤–第3部分
- http与websocket(基于SignalR)两种协议下的跨域基于ASP.NET MVC--竹子整理
- java水仙花数代码_java知识分享篇(五)
- ceph 存储 对比_对象存储cleversafe对比ceph有哪些优势?
- 常规英文字体 电商_最强电商美工逆袭系列1——最全的电商字体应用详解
- shm 共享内存 android,共享内存
- axure 破解 key
- stata--异方差检验
- html_css_尺寸调整/调整图片样式(img/max-widht/object-fit)
- c盘内存不足怎么清理(如何清理电脑c盘空间)
- 符号“∑”和“Π”的用法。
- P4084 [USACO17DEC]Barn Painting
- linux 计费服务器,腾讯云服务器的实例计费问题
- Node.js 从零开发web server博客项目--项目初始化
- 股市投资实战的核心问题