我正在使用此代码在浏览器中打开网址。
Intent myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
getActivity().startActivity(myIntent);
但它始终在同一窗口中打开。
是否可以强制打开新窗口? (类似于网络中的target =“_ blank”)
答案 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);