http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 16441|回复: 4

[Android] 手机浏览器启动App的方法,Html启动App的方法

[复制链接]
发表于 2014-6-11 16:38:53 | 显示全部楼层 |阅读模式

点击浏览器中的URL链接,启动特定的App。

首先做成HTML的页面,页面内容格式如下:

[C#] 纯文本查看 复制代码
<a href="[scheme]://[host]/[path]?[query]">启动应用程序</a> 

这一句就可以了。


各个项目含义如下所示:

scheme:判别启动的App。 ※详细后述

host:适当记述

path:传值时必须的key     ※没有也可以

query:获取值的Key和Value  ※没有也可以


作为测试好好写了一下,如下:

[C#] 纯文本查看 复制代码
<a href="myapp://jp.app/openwith?name=zhangsan&age=26">启动应用程序</a>  

接下来是Android端。
首先在AndroidManifest.xml的MAIN Activity下追加以下内容。(启动Activity时给予)

※必须添加项

[C#] 纯文本查看 复制代码
<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:scheme="myapp" android:host="jp.app" android:pathPrefix="/openwith"/>  
</intent-filter>

HTML记述的内容加入<data …/>。
其中必须的内容仅scheme,没有其他内容app也能启动。


※注意事项:intent-filter的内容【android.intent.action.MAIN】和 【android.intent.category.LAUNCHER】这2个,不能与这次追加的内容混合。
                 所以,如果加入了同一个Activity,请按以下这样做,否则会导致应用图标在桌面消失等问题。

[C#] 纯文本查看 复制代码
<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.DEFAULT" />  
    <category android:name="android.intent.category.BROWSABLE" />  
    <data android:scheme="myapp" android:host="jp.app" android:pathPrefix="/openwith"/>  
</intent-filter> 

这样的话,没有问题。


接下来在Activity中需要取值的地方添加以下代码,我是直接写在OnCreate函数里的:

[C#] 纯文本查看 复制代码
Intent i_getvalue = getIntent();  
String action = i_getvalue.getAction();  
  
if(Intent.ACTION_VIEW.equals(action)){  
    Uri uri = i_getvalue.getData();  
    if(uri != null){  
        String name = uri.getQueryParameter("name");  
        String age= uri.getQueryParameter("age");  
    }  
}  




1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2014-7-6 01:16:09 | 显示全部楼层
不错,还有app网页打电话、发短信的等等之类的。
飞哥也开始搞java了
 楼主| 发表于 2014-7-6 13:14:55 | 显示全部楼层
xjwebs 发表于 2014-7-6 01:16
不错,还有app网页打电话、发短信的等等之类的。
飞哥也开始搞java了

你那里看到我写有Java了,这还是JS和Html
发表于 2014-7-7 00:26:47 | 显示全部楼层
站长苏飞 发表于 2014-7-6 13:14
你那里看到我写有Java了,这还是JS和Html

看错标题了,以为是从一个app中启动另一个app,像截图分享到QQ/微信那样,启动了就跳过去,没启动就启动再跳过去
发表于 2015-3-31 12:56:47 | 显示全部楼层
你好,能否在一个网页内,分成两个模块,一部分是手机内已经下载好的本地应用,一部分是网站内容

或者说,在网页内设定几个常用的软件超链接启用App
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-4-30 13:00

© 2014-2021

快速回复 返回顶部 返回列表