如何从内置 Web 浏览器中的代码而不是在我的应用程序中打开 URL?
我试过这个:
try {
Intent myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(download_link));
startActivity(myIntent);
} catch (ActivityNotFoundException e) {
Toast.makeText(this, "No application can handle this request."
+ " Please install a webbrowser", Toast.LENGTH_LONG).show();
e.printStackTrace();
}
但我有一个例外:
No activity found to handle Intent{action=android.intent.action.VIEW data =www.google.com
试试这个:
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
startActivity(browserIntent);
这对我来说很好。
至于缺少的 “http://” 我会做这样的事情:
if (!url.startsWith("http://") && !url.startsWith("https://"))
url = "http://" + url;
我也可能预先填充用户使用 “http://” 键入 URL 的 EditText。
String url = "http://www.stackoverflow.com";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
Intent intent = new Intent(Intent.ACTION_VIEW).setData(Uri.parse("http://www.stackoverflow.com"));
startActivity(intent);
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.stackoverflow.com"));
startActivity(intent);
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.stackoverflow.com")));
快乐的编码!
在 2.3 中,我运气好了
final Intent intent = new Intent(Intent.ACTION_VIEW).setData(Uri.parse(url));
activity.startActivity(intent);
区别在于使用Intent.ACTION_VIEW
而不是字符串"android.intent.action.VIEW"