如何在新窗口中打开浏览器

时间:2015-09-28 21:17:18

标签: android android-intent browser

我正在使用此代码在浏览器中打开网址。

    Intent myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
    getActivity().startActivity(myIntent);

但它始终在同一窗口中打开。

是否可以强制打开新窗口? (类似于网络中的target =“_ blank”)

2 个答案:

答案 0 :(得分:2)

尝试使用以下代码:

   Intent myIntent  = new Intent("android.intent.action.MAIN");
    myIntent.setComponent(ComponentName.unflattenFromString ("com.android.chrome/com.android.chrome.Main"));
    myIntent.addCategory("android.intent.category.LAUNCHER");
    myIntent.setData(Uri.parse(url));
    startActivity(myIntent);

每次点击网址时,上面的代码都会创建新标签。如果这不起作用,您可以尝试以下代码:

Intent myIntent  = new Intent(Intent.ACTION_VIEW);
myIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);                                           myIntent.putExtra(Browser.EXTRA_APPLICATION_ID,mContext.getPackageName());                    myIntent.addCategory(Intent.CATEGORY_BROWSABLE);
myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);             
myIntent.setData(Uri.parse(url));
mContext.startActivity(myIntent);

答案 1 :(得分:1)

您应该使用标记FLAG_ACTIVITY_NEW_DOCUMENT强制(兼容)浏览器在新标签页中打开链接。

Intent myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT);
getActivity().startActivity(myIntent);