gpt4 book ai didi

android - "No Activity found to handle Intent"在浏览器中加载 URL 时发生错误

转载 作者:行者123 更新时间:2023-11-30 05:07:33 26 4
gpt4 key购买 nike

我已经检查过关于 No Activity found to handle Intent 错误的类似问题。他们都没有解决我的问题。

当应用要在 AppCompatActivity 中使用 Intent 在 Chrome 浏览器中打开 URL 时,我的 Sentry 日志中出现此错误:

android.content.ActivityNotFoundException: No Activity found to handle Intent
{ act=android.intent.action.VIEW dat=https://www.example.com/...
flg=0x10000000 pkg=com.android.chrome }

这是我的代码:

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setPackage("com.android.chrome");

if (MyMethods.isAppInstalled(getApplicationContext(), "com.android.chrome")) {
try {
startActivity(intent);
} catch (ActivityNotFoundException ex) {
SentryLog.warn(ex);
// Chrome browser presumably not installed so allow user to choose instead
intent.setPackage(null);
startActivity(intent);
}
} else {
// Chrome browser presumably not installed so allow user to choose instead
intent.setPackage(null);
startActivity(intent);
}

SentryLog.warn(ex); 报告了错误。

这是 MyMethods 类中的 isAppInstalled() 方法:

public static boolean isAppInstalled(Context context, String packageName) {
try {
if (context != null) {
context.getPackageManager().getPackageInfo(packageName, PackageManager.GET_ACTIVITIES);
}
return true;
} catch (PackageManager.NameNotFoundException e) {
MyLog.w(TAG, new Throwable().getStackTrace()[0].getLineNumber(), e);
e.printStackTrace();
}

return false;
}

有时它会捕捉范围。如您所见,我检查了设备上是否安装了 chrome,所以如果它没有转到 else,它就会安装!在这种情况下,为什么它不能执行 startActivity(intent); 而它去捕获范围?

‍我的代码在 Activity 中,所以我应该使用 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 还是不使用?

最佳答案

无需检查 chrome,它会找到浏览器本身。注意 url 必须以 http 或 https 开头。

Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
fragmentActivity.startActivity(browserIntent);

关于android - "No Activity found to handle Intent"在浏览器中加载 URL 时发生错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54304307/

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