Принудительное закрытие пользовательской вкладки Chrome
Я хочу закрыть пользовательскую вкладку Chrome нажатием кнопки возврата устройства, но она работает только тогда, когда на пользовательской вкладке в настоящий момент нет истории; когда есть оставшаяся история, нажатие кнопки возврата устройства только перематывает пользовательскую вкладку обратно на страницу в ее истории. Могу ли я заставить пользовательскую вкладку игнорировать историю в любой момент и немедленно закрыть пользовательскую вкладку?
Я пробовал разные варианты для пользовательских вкладок, таких как ниже, но, похоже, ни одна из них не помогает моей цели. Я был бы очень признателен за вашу идею. Спасибо!
customTabsIntent.intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
customTabsIntent.intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
customTabsIntent.intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Мой текущий код
String url = eacharticle.get("url");
String PACKAGE_NAME = "com.android.chrome";
android.support.customtabs.CustomTabsIntent customTabsIntent = new android.support.customtabs.CustomTabsIntent.Builder().setShowTitle(true).build();
customTabsIntent.intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
customTabsIntent.intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
customTabsIntent.intent.setData(Uri.parse(url));
java.util.List<android.content.pm.ResolveInfo> resolveInfoList = context.getPackageManager().queryIntentActivities(customTabsIntent.intent, android.content.pm.PackageManager.MATCH_DEFAULT_ONLY);
for (android.content.pm.ResolveInfo resolveInfo : resolveInfoList) {
String packageName = resolveInfo.activityInfo.packageName;
if(PACKAGE_NAME.equals(packageName))
customTabsIntent.intent.setPackage(PACKAGE_NAME); // force use chrome if installed
}
customTabsIntent.launchUrl(context, Uri.parse(url));
1 ответ
Я не думаю, что в настоящее время есть возможность сделать это, поскольку мы не можем переопределить действие onBackPressed на пользовательских вкладках Chrome. На самом деле лучше так работать во многих случаях использования.