在我们的应用程序中,通过单击按钮,我们需要在浏览器中打开一个网站
Intent openBrowserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(openBrowserIntent);
我们发现浏览器需要很长时间才能打开,可能因为链接包含一些重定向?
意图中是否有任何参数,强制浏览器在我们点击后立即打开?否则,用户将看到2-3秒没有发生任何事情
Chrome浏览器的直接意图
String urlString="URL_HERE";
Intent intent=new Intent(Intent.ACTION_VIEW,Uri.parse(urlString));
intent.setPackage("com.android.chrome");
try {
context.startActivity(intent);
} catch (ActivityNotFoundException ex) {
// Chrome browser app not installed
intent.setPackage(null);
context.startActivity(intent);
}
这是你打算先选择浏览器,然后在选择时加载页面
Intent openBrowserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(openBrowserIntent);
请同时测试这两种情况和不同的设备
我们发现浏览器需要很长时间才能打开,可能因为链接包含一些重定向?
您可以通过尝试URL到更简单的站点(不涉及重定向的站点)以及查看它打开的速度来测试这一点。您还可以通过将Intent
替换为在其他应用程序(例如,设置)中启动普通活动的EXTRA_COULD_YOU_PLEASE_OPEN_QUICKLY_KTHXBYE
来测试。这将帮助您缩小范围:
意图中是否有任何参数,强制浏览器在我们点击后立即打开?
不,没有FLAG_ACTIVITY_AW_COME_ON_GET_MOVING_ALREADY
或类似的额外。同样,没有android.intent.action.VIEW_NOW_NOW_NOW
旗帜。您可以尝试用ActivityNotFoundException
替换当前的操作,但我怀疑它只会导致qazxswpoi。 :-)