在手机的浏览器上通过连接打开App
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在⼿机的浏览器上通过连接打开App
Android系统中实现
1、在系统系统⾃带的浏览器中
⾸先做成HTML的页⾯,页⾯内容格式如下:
<a href="[scheme]://[host]/[path]?[query]">启动应⽤程序</a>
这⼀句就可以了。
各个项⽬含义如下所⽰:
scheme:判别启动的App。
※详细后述
host:适当记述
path:传值时必须的key ※没有也可以
query:获取值的Key和Value ※没有也可以
作为测试好好写了⼀下,如下:
<a href="myapp://jp.app/openwith?name=zhangsan&age=26">启动应⽤程序</a>
接下来是Android端。
⾸先在AndroidManifest.xml的MAIN Activity下追加以下内容。
(启动Activity时给予)
※必须添加项
<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】和【UNCHER】这2个,不能与这次追加的内容混合。
所以,如果加⼊了同⼀个Activity,请按以下这样做,否则会导致应⽤图标在桌⾯消失等问题。
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="UNCHER" />
</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函数⾥的:
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");
}
}
这样就能获取到URL传递过来的值了。
2、在第三⽅的浏览器中
把⼀个http服务宿主在本地应⽤中,本地的服务地址为127.0.0.1:8765中,宿主⽤于监控服务数据,并打开⾃⾝。
3、在微信中打开
在微信开放平台登记应⽤之后,可以获得appid,通过这个appid就可以跳转到你的app。
iOS平台格式如下:appid://openwebview/?ret=0,appid要替换成实际的,后⾯可以带参数,在你的app可以接收到。
例如:location.href = wx234ad233ae222://openwebview/?ret=0
IOS系统中实现
1、在系统⾃带的浏览器
经常使⽤Safari浏览器浏览⽹页点击url会唤醒该⽹站的⼿机版app
需要在app的⼯程中设置
1、打开⼯程中的myapp-Info.plist⽂件
2、打开⽂件中新增URL TYPES的⼀项
3、在⼯程中实现如下⽅法
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
if (url) {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:nil message:@"你唤醒了您的应⽤"delegate:selfcancelButtonTitle:@"确定" otherButtonTitles:nil, nil]; [alertView show];
}
return YES;
}
4、在Safari浏览器输⼊myapp:// ,就可以启动应⽤了。
2、在⾃⾝浏览器上显⽰Banner,有就显⽰打开,没有就提⽰下载
<meta name="apple-itunes-app" content="app-id=432274380">
3、在第三⽅的浏览器中
把⼀个http服务宿主在本地应⽤中,本地的服务地址为127.0.0.1:8765中,宿主⽤于监控服务数据,并打开⾃⾝。
4、在微信中打开
在微信开放平台登记应⽤之后,可以获得appid,通过这个appid就可以跳转到你的app。
iOS平台格式如下:appid://openwebview/?ret=0,appid要替换成实际的,后⾯可以带参数,在你的app可以接收到。
例如:location.href = wx234ad233ae222://openwebview/?ret=0。