如何捕捉startactivity深链接错误为Android



我正在尝试触发一个深链接,如:

yelp://

应该是yelp:///,但我想验证链接失败,并告诉用户输入正确的地址或安装应用程序。这是我的try块:

try{
            startActivity(new Intent("android.intent.action.VIEW",
                    Uri.parse(message)));
        } catch (android.content.ActivityNotFoundException e){
            throw new RunTimeException("Please install the application you are trying to trigger." + e.toString());**
}

RunTimeException没有显示。任何关于如何显示对话框或这样的用户对此例外的建议。TIA。

你可以这样写

public static boolean canLaunchIntent(Context ctx, Intent intent) {
    final PackageManager mgr = ctx.getPackageManager();
    List<ResolveInfo> list = mgr.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
    return list.size() > 0;
}

与包管理器检查,并确定是否有一个活动可以处理你发送的意图

最新更新