Android应用程序是否在同一选项卡中打开浏览器?
我觉得这很难解释,但我会尽力的。 我有一个应用程序可以打开浏览器(firefox),并将该应用程序中的信息作为php变量发送到网页,问题是我经常这样做,每次它打开浏览器时都会打开一个新选项卡 我知道没有办法用javascript等关闭一个选项卡,所以有没有办法确保它总是打开到同一个当前选项卡中,这样我就不会同时打开多个选项卡 我不想在应用启动浏览器时一直关闭firefox标签Android应用程序是否在同一选项卡中打开浏览器?,android,firefox,android-browser,Android,Firefox,Android Browser,我觉得这很难解释,但我会尽力的。 我有一个应用程序可以打开浏览器(firefox),并将该应用程序中的信息作为php变量发送到网页,问题是我经常这样做,每次它打开浏览器时都会打开一个新选项卡 我知道没有办法用javascript等关闭一个选项卡,所以有没有办法确保它总是打开到同一个当前选项卡中,这样我就不会同时打开多个选项卡 我不想在应用启动浏览器时一直关闭firefox标签 btnClickMe.setOnClickListener(new View.OnClickListene
btnClickMe.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
File file = new File(Environment.getExternalStorageDirectory(), "sample.html");
Uri uri2 = Uri.fromFile(file);
Intent intent = new Intent(Intent.ACTION_VIEW, uri2);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClassName("com.android.chrome", "com.google.android.apps.chrome.Main");
intent.putExtra(Browser.EXTRA_APPLICATION_ID, "com.android.chrome");
try {
startActivity(intent);
} catch (Exception e) {
Log.e("Exception ", e.getLocalizedMessage());
}
}
});
对不起,如果这很难理解。
谢谢。这可能有点晚了,但我只使用Chrome应用程序就实现了您想要的
String url = "http://www.mypage.com";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
intent.putExtra(Browser.EXTRA_APPLICATION_ID, "com.android.chrome");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
这允许您重新使用Chrome上当前打开的选项卡,并将该选项卡中的当前URL更改为您在intent中提供的URL
我也尝试过Firefox,但没有成功
我希望这能有所帮助。可能有点晚了,但我已经成功地通过Chrome应用程序实现了您想要的
String url = "http://www.mypage.com";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
intent.putExtra(Browser.EXTRA_APPLICATION_ID, "com.android.chrome");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
这允许您重新使用Chrome上当前打开的选项卡,并将该选项卡中的当前URL更改为您在intent中提供的URL
我也尝试过Firefox,但没有成功
我希望这会有所帮助。让Firefox android应用程序替换当前选项卡的现有url
String package = "org.mozilla.firefox";
String url = "http://www.test.com";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
intent.setPackage(package);
intent.putExtra(Browser.EXTRA_APPLICATION_ID, package);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
对于chrome或其他浏览器,只需更改包名即可。希望它能解决这个问题。让Firefox android应用程序替换当前选项卡的现有url
String package = "org.mozilla.firefox";
String url = "http://www.test.com";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
intent.setPackage(package);
intent.putExtra(Browser.EXTRA_APPLICATION_ID, package);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
对于chrome或其他浏览器,只需更改包名即可。希望它能解决这个问题。答案用于在同一选项卡中打开一个“sample.html”文件,而不是创建Google Chrome浏览器的新选项卡
btnClickMe.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
File file = new File(Environment.getExternalStorageDirectory(), "sample.html");
Uri uri2 = Uri.fromFile(file);
Intent intent = new Intent(Intent.ACTION_VIEW, uri2);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClassName("com.android.chrome", "com.google.android.apps.chrome.Main");
intent.putExtra(Browser.EXTRA_APPLICATION_ID, "com.android.chrome");
try {
startActivity(intent);
} catch (Exception e) {
Log.e("Exception ", e.getLocalizedMessage());
}
}
});
注意:请在继续之前检查您的存储权限。答案用于在同一选项卡中打开“sample.html”文件,而不是创建Google Chrome浏览器的新选项卡
btnClickMe.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
File file = new File(Environment.getExternalStorageDirectory(), "sample.html");
Uri uri2 = Uri.fromFile(file);
Intent intent = new Intent(Intent.ACTION_VIEW, uri2);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClassName("com.android.chrome", "com.google.android.apps.chrome.Main");
intent.putExtra(Browser.EXTRA_APPLICATION_ID, "com.android.chrome");
try {
startActivity(intent);
} catch (Exception e) {
Log.e("Exception ", e.getLocalizedMessage());
}
}
});
注意:请在继续之前检查您的存储权限