在我的应用中,需要加载web页面,
并且web页面上url可以通过app link直接开启其他第三方app ,如淘宝,京东,亚马逊等。
现在的疑惑时,如何通过给定的url得知手机中有对应处理的应用呢
大部分能通过自己Url启动的应用会注册 ACTION_VIEW 这个 Intent 类型,你可以根据URL新建一个Intent,然后通过 PackManager 去判断是否有能处理的列表,如果有就可以启动
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PackageManager packageManager = getContext().getPackageManager();
List<ResolveInfo> resolveInfoList = packageManager.queryIntentActivities(intent, 0);
if (resolveInfoList != null && !resolveInfoList.isEmpty()) {
startActivity(intent);
}
首先你要知道scheme的对应关系,然后就是获得应用包名列表,在里面找