gpt4 book ai didi

android - 检查 Intent uri 是否可用

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:23:58 25 4
gpt4 key购买 nike

我有一个应用程序有时会链接到 imdb。我可以使用 http://m.imdb.com/find 或者如果它可用 imdb:///find 来做到这一点。我的麻烦是我找不到方法来检查 imdb:// 是否可用,以免为时已晚。

因为用户点击了链接,所以我无法捕捉到android.content.ActivityNotFoundException异常。

我是否漏掉了一些明显的东西?


解决方案:

根据 inazaruk 的建议,我现在使用以下代码:

public static boolean isUriAvailable(Context context, String uri) {
Intent test = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
return context.getPackageManager().resolveActivity(test, 0) != null;
}

必须使用指向您请求的内容的直接 uri 调用该方法,例如 imdb:///find 而不仅仅是 imdb://

最佳答案

您可以使用 resolveActivity()检测系统中是否有任何 Activity 能够处理您的 Intent 。当然,您需要构建模仿“uri”点击的 Intent 。这可以使用 Intent.setData() 来完成功能,虽然我自己没有测试/验证。

关于android - 检查 Intent uri 是否可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7050068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com