HTML5打开本地app(应用)的方法

HTML5 herman 14729浏览 0评论
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog,发送下载链接帮助你免费下载!
本博客日IP超过1800,PV 2600 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog,之前的微信号好友位已满,备注:返现
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领

手机访问支付宝网页版的人都知道。如果你的手机上安装有支付宝,那么在访问支付宝手机网页时就会自动打开支付宝app,否则在页面上会提示你进行下载app。
也许你会感觉这个功能很炫,这是如何实现的呢?在今天这个功能可能被大家用乱了,但是在当初支付宝使用这个功能时,大伙还是很惊奇的,最后通过分析支付宝移动web源码才找到结果。
下面我就为大家揭秘这个做法的全部代码实现:
首先为了保证能够打开你的app,你必须要在androidManifest.xml中配置的filter中data的属性表述。<data android:pathprefix="/taoge/open" android:scheme="xttblog"></data> androidManifest.xml代码如下:

<?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代码如下:

<!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>

附原文地址:http://www.xttblog.com/?p=287

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加QQ1群:135430763(2000人群已满),QQ2群:454796847(已满),QQ3群:187424846(已满)。QQ群进群密码:xttblog,想加微信群的朋友,之前的微信号好友已满,请加博主新的微信号:xttblog,备注:“xttblog”,添加博主微信拉你进群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作可添加助理微信进行沟通!

本文原文出处:业余草: » HTML5打开本地app(应用)的方法