4

我正在为 android 使用新推出的 Chrome 自定义标签,而不是使用 webviews。这是他们文档的链接

这是显示如何使用它的代码。

String url = ¨https://paul.kinlan.me/¨;
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
CustomTabsIntent customTabsIntent = builder.build();
customTabsIntent.launchUrl(this, Uri.parse(url));

问题是我想在其中添加 Intent.EXTRA_REFERRER。下面是用他们自己的话从他们的博客中复制的段落..

对于网站来说,跟踪其流量的来源通常非常重要。确保通过在启动自定义选项卡时设置引荐来源网址让他们知道您正在向他们发送用户

intent.putExtra(Intent.EXTRA_REFERRER, 
             Uri.parse(Intent.URI_ANDROID_APP_SCHEME + "//" + context.getPackageName()));

我无法弄清楚为启动自定义选项卡而创建的任何意图。在哪里添加此行?如果有人遇到这种情况,请帮忙。

4

1 回答 1

11

您可以将额外内容放在构建器创建的 CustomTabsIntent 内的 Intent 上,如下所示:

String url = ¨https://paul.kinlan.me/¨;
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
CustomTabsIntent customTabsIntent = builder.build();
customTabsIntent.intent.putExtra(Intent.EXTRA_REFERRER,
        Uri.parse("android-app://" + context.getPackageName()));
customTabsIntent.launchUrl(this, Uri.parse(url));

说明:在后台,通过使用带有一组配置 UI 自定义的 Extras 的常规Intent打开一个自定义选项卡。可以在文档的Low Level API 部分看到更多关于它如何工作的信息。当CustomTabsIntent.Builder#build()被调用时,它会创建一个 CustomTabsIntent,其中包含一个正确配置的 Intent。这个意图仍然由 API 公开,这就是我们用来添加EXTRA_REFERRER的方法。

于 2016-06-21T17:02:52.787 回答