Android中怎么打开本地应用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
1、在html中设置链接
代码如下:
href=”[scheme]://[host]/[path]?[query]”
scheme可以自己在app内部设置成任意的,把android和ios的设置成一样的
2、若本地应用存在,直接打开app;若不存在,计时一段时间跳到appstore
需要判断ios还是android平台下的浏览器,需要判断微信浏览器
XML/HTML Code复制内容到剪贴板
<code class="hljs" javascript="">var openApp = function () {
var btnOpenApp = document.getElementById(open-app);
btnOpenApp.onclick = function () {
//打开本地应用函数
var open=function(url){
var timeout;
function try_to_open_app() {
timeout = setTimeout(function(){
window.location.href=url;
console.log()
}, );
}
try_to_open_app();
}
if (/android/i.test(navigator.userAgent)) {
//alert(This is Android'browser.);//这是Android平台下浏览器
if (/MicroMessenger/i.test(navigator.userAgent)) {
alert(This is MicroMessenger browser,请使用本地浏览器打开);//这是微信平台下浏览器
}
else {
open(andorid应用市场url);
}
}
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
//alert(This is iOS'browser.);//这是iOS平台下浏览器
if (/MicroMessenger/i.test(navigator.userAgent)) {
alert(微信内置浏览器不支持打开本地应用,请点击右上角使用本地浏览器打开);//这是微信平台下浏览器
}
else {
open(ios应用市场url);
}
}
};
}</code>
Android配置
XML/HTML Code复制内容到剪贴板
<activity android:name=".ui.UploadActivity" android:screenorientation="portrait">
<intent-filter>
<data android:scheme="http" android:host="192.168.167.33" android:port="8088" android:path="/mi-tracker-web/download.html">
<action android:name="android.intent.action.VIEW">
<category android:name="android.intent.category.DEFAULT">
<category android:name="android.intent.category.BROWSABLE">
</category></category></action></data></intent-filter>
</activity>
Open Application
XML/HTML Code复制内容到剪贴板
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<script type="text/javascript"> window.location="market://search?q=com.singtel.travelbuddy.android";</script>
String str = "market://details?id=" + getPackageName();
Intent localIntent = new Intent("android.intent.action.VIEW");
localIntent.setData(Uri.parse(str));
startActivity(localIntent);
HTML配置示例
Open app
Open Market
Open Market Details
Android获取参数:
XML/HTML Code复制内容到剪贴板
Uri uri = getIntent().getData(); String test1= uri.getQueryParameter("arg0"); String test2= uri.getQueryParameter("arg1");
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Uri uri=Uri.parse(url);
if(uri.getScheme().equals("m")&&uri.getHost().equals("my.com")){
String arg=uri.getQueryParameter("arg");
String arg=uri.getQueryParameter("arg");
}else{
view.loadUrl(url);
}
return true;
}
});
看完上述内容,你们掌握Android中怎么打开本地应用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。