试了一个小Demo,从WebApp上直接调起Android Native App,包括应用已安装和未安装的情况,还是蛮有意思,记录点儿东西:
第一,在AndroidManifest.xml中对标签增加,如下:
android:label="@string/app_name">
第二,在SchemeActivity中接收并处理Uri请求,实现跳转到不同的Native App页面,获取Uri可以在Activity中通过getIntent().getData()实现,Demo:
// 尝试获取WebApp页面上过来的URL
Uri uri = getIntent().getData();
if (uri !=null) {
StringBuffer sb =new StringBuffer();
// 完整的url信息
sb.append("url: " + uri.toString());
// scheme部分
sb.append("\nscheme: " + uri.getScheme());
// host部分
sb.append("\nhost: " + uri.getHost());
// 访问路劲
sb.append("\npath: ");
List pathSegments = uri.getPathSegments();
for (int i =0; pathSegments !=null && i < pathSegments.size(); i++) {
sb.append("/" + pathSegments.get(i));
}
// Query部分
sb.append("\nquery: ?" + uri.getQuery());
tv.setText(sb.toString());
}
第三,在WebApp页面上,通过如下方式使用: