<html>
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="m://my.com/">打开app</a><br/>
</body>
</html>
2、在Android本地app的配置
在AndroidManifest的清单文件里的intent-filte中加入如下元素:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="my.com"
android:scheme="m" />
</intent-filter>
2然后使用“手机浏览器”或者“webview”的方式打开这个本地的html网页,点击“打开APP”即可成功开启本地的指定的app
二:如何通过这个方法获取网页带过来的数据
只能打开就没什么意思了,最重要的是,要传递数据,那么怎么去传递数据呢?
可以使用上述的方法,把一些数据传给本地app,那么首先更改一下网页,代码修改后:
<html>
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="m://my.com/?arg0=0&arg1=1">打开app</a><br/>
</body>
</html>
(1).假如通过浏览器打开这个网页的,那么获取数据的方式为:
Uri uri = getIntent().getData() String test1= uri.getQueryParameter("arg0") String test2= uri.getQueryParameter("arg1")
(2)如果使用webview访问该网页,获取数据的 *** 作为:
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 arg0=uri.getQueryParameter("arg0")
String arg1=uri.getQueryParameter("arg1")
}else{
view.loadUrl(url)
}
return true
}
})
html里是无法检测,只能js调用android的方法,获取到app的安装信息后,再调用js,传值到html里获得。如果您对我的回答有不满意的地方,还请您继续追问;
答题不易,互相理解,互相帮助!
首先为了保证能够打开你的app,你必须要在androidManifest.xml中配置的filter中data的属性表述。<data
android:pathprefix="/taoge/open" android:scheme="xttblog"></data>
androidManifest.xml
代码如下:
XML/HTML Code
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.taoge"
android:versionCode="2"
android:versionName="3.24.03" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:configChanges="orientation|screenSize"
android:icon="@drawable/logo"
android:label="@string/app_name"
android:logo="@drawable/logo"
android:sharedUserId="android.uid.system"
android:theme="@android:style/Theme.Light.NoTitleBar" >
<activity
android:name="xttblog.WelcomeActivity"
android:excludeFromRecents="true"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Light.NoTitleBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:pathPrefix="/taoge/open"
android:scheme="xttblog" />
</intent-filter>
</activity>
<activity
android:name="xttblog.AntRepairActivity"
android:label="@string/title_activity_ant_repair" >
</activity>
</application>
</manifest>
其次,你要在你的网页中访问xttblog://taoge/open。可以使用的元素有很多,如:script,iframe,img等。使用它们的src属性,访问xttblog://taoge/open。html5代码如下:
XML/HTML Code复制内容到剪贴板
<!DOCTYPE HTML>
<html>
<script>
function openapp(){
document.getElementById('xttblog').innerHTML='<iframe src="xttblog://taoge/open"></iframe>'
}
</script>
<body>
<div style="display:none" id="xttblog"></div>
<input type="button" value="打开app" onclick="openapp()">
</body>
</html>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)