向Chrome自定义标签关闭按钮添加监听器

时间:2017-02-27 15:54:07

标签: android chrome-custom-tabs

我有一个Chrome自定义标签,但我想在标题栏左上角的关闭(X)按钮中添加一个监听器。

我希望每次用户点击关闭按钮时都会触发回调。

我能够在网络视图中执行此操作,但无法确定是否可以使用Chrome自定义标签。

以下是我用来调用自定义标签的代码段:

     CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
                    builder.enableUrlBarHiding();
                    builder.setToolbarColor(getTitleBarBackgroundColor());
                    builder.setStartAnimations(this, android.R.anim.slide_in_left, android.R.anim.slide_out_right);
                    builder.setExitAnimations(this, android.R.anim.slide_in_left, android.R.anim.slide_out_right);
                    customTabsIntent = builder.build();
                    customTabsIntent.intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY |  Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
                    customTabsIntent.launchUrl(this, Uri.parse(url));

2 个答案:

答案 0 :(得分:7)

对于不同用途的Chrome自定义标签关闭按钮自定义,已经有一些问题(herehere)。从Chrome自定义标签的当前实现,无法直接向Chrome自定义标签关闭按钮添加监听器。您只能customize the close button获取其图标。

<强>更新: 虽然您无法直接向Chrome自定义标签关闭按钮添加收听者,但您可以使用{custom {tag} {打开。但请记住,在这种情况下,无论Chrome自定义标签是否已通过关闭按钮或设备返回键关闭,都会调用回调。

答案 1 :(得分:0)

无法覆盖关闭按钮的行为。但是,如果您只想触发回调,例如跟踪关闭按钮上的点击次数,则可以在启动自定义选项卡的活动上使用onResume()回调,因为调用者活动将作为结果恢复自定义选项卡被关闭。