Java基础、中级、高级、架构面试资料

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

HTML5 herman 20387浏览 0评论
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog2,发送下载链接帮助你免费下载!
本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog2,之前的微信号好友位已满,备注:返现
受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领
腾讯云】1核2G5M轻量应用服务器50元首年,高性价比,助您轻松上云

手机访问支付宝网页版的人都知道。如果你的手机上安装有支付宝,那么在访问支付宝手机网页时就会自动打开支付宝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)!可加作者微信号:xttblog2。备注:“1”,添加博主微信拉你进微信群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作也可添加作者微信进行联系!

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