android 如何得知是否有app link连接对应的应用

在我的应用中,需要加载web页面,
并且web页面上url可以通过app link直接开启其他第三方app ,如淘宝,京东,亚马逊等。
现在的疑惑时,如何通过给定的url得知手机中有对应处理的应用呢

2个回答

首先你要知道scheme的对应关系,然后就是获得应用包名列表,在里面找

大部分能通过自己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);
}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问