取消 chrome 个自定义选项卡时的回调
Callback on dismiss of chrome custom tabs
我有一个 activity 'A',在 activity 里面,我打开了一个 chrome 自定义选项卡。现在,当用户关闭 chrome 自定义选项卡时,我想打开另一个 activity 'B'。有没有办法知道 chrome 自定义选项卡何时关闭。或任何其他方式解决上述问题。
您可以跟踪自定义选项卡是在 Activity A 上的布尔变量上打开的。
private boolean mCustomTabsOpened = false;
public void launchCustomTabs(String url) {
mCustomTabsOpened = true;
new CustomTabs.Builder().build().launchUrl(this, Uri.parse(url));
}
然后,使用ActivityA的onResume()
发射ActivityB
public void onResume() {
if (mCustomTabsOpened) {
mCustomTabsOpened = false;
startActivity(this, ActivityB.class);
}
}
您可能希望使用 KeepAliveService 来防止 ActivityA 被销毁,如图 here
在 Activity A 中启动 Chrome 自定义选项卡,如下所示:
private final int CHROME_CUSTOM_TAB_REQUEST_CODE = 100;
public void launchCustomTabs(String url) {
CustomTabsIntent customTabsIntent = builder.build();
customTabsIntent.intent.setData(Uri.parse(url));
startActivityForResult(customTabsIntent.intent, CHROME_CUSTOM_TAB_REQUEST_CODE);
}
然后在Activity结果中检查该请求代码:
if (requestCode == CHROME_CUSTOM_TAB_REQUEST_CODE) {
startActivity(this, ActivityB.class);
}
好吧,这行不通,因为现在无法跟踪 chrome 自定义选项卡的关闭,如果您尝试在点击后退按钮时调用或显示对话框,即,要求确认。
好吧,您可以通过 activity(首先启动它)来处理它们,但我认为这不是您想要的。
但如果有人确实找到了解决方案,请在下面发表评论。
我有一个 activity 'A',在 activity 里面,我打开了一个 chrome 自定义选项卡。现在,当用户关闭 chrome 自定义选项卡时,我想打开另一个 activity 'B'。有没有办法知道 chrome 自定义选项卡何时关闭。或任何其他方式解决上述问题。
您可以跟踪自定义选项卡是在 Activity A 上的布尔变量上打开的。
private boolean mCustomTabsOpened = false;
public void launchCustomTabs(String url) {
mCustomTabsOpened = true;
new CustomTabs.Builder().build().launchUrl(this, Uri.parse(url));
}
然后,使用ActivityA的onResume()
发射ActivityB
public void onResume() {
if (mCustomTabsOpened) {
mCustomTabsOpened = false;
startActivity(this, ActivityB.class);
}
}
您可能希望使用 KeepAliveService 来防止 ActivityA 被销毁,如图 here
在 Activity A 中启动 Chrome 自定义选项卡,如下所示:
private final int CHROME_CUSTOM_TAB_REQUEST_CODE = 100;
public void launchCustomTabs(String url) {
CustomTabsIntent customTabsIntent = builder.build();
customTabsIntent.intent.setData(Uri.parse(url));
startActivityForResult(customTabsIntent.intent, CHROME_CUSTOM_TAB_REQUEST_CODE);
}
然后在Activity结果中检查该请求代码:
if (requestCode == CHROME_CUSTOM_TAB_REQUEST_CODE) {
startActivity(this, ActivityB.class);
}
好吧,这行不通,因为现在无法跟踪 chrome 自定义选项卡的关闭,如果您尝试在点击后退按钮时调用或显示对话框,即,要求确认。 好吧,您可以通过 activity(首先启动它)来处理它们,但我认为这不是您想要的。 但如果有人确实找到了解决方案,请在下面发表评论。