android - 如何在 Android 的 Chrome 自定义标签中将 EXTRA_REFERRER 添加到 CustomTabsIntent 构建器

标签 android chrome-custom-tabs android-customtabs

我正在使用新推出的适用于 Android 的 Chrome 自定义选项卡,而不是使用 WebView 。 This is the link to their documentation

下面是展示如何使用它的代码。

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。下面是用他们自己的话从他们的博客中复制的段落..

It's usually very important for websites to track where their traffic is coming from. Make sure you let them know you are sending them users by setting the referrer when launching your Custom Tab

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

我没能弄清楚为启动自定义选项卡而创建的任何 Intent 。在哪里添加这一行??如果有人遇到过这个问题,请帮忙。

最佳答案

您可以将额外内容放在构建器创建的 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));

说明:在引擎盖下,使用常规 a Intent 打开自定义选项卡。带有一组用于配置 UI 自定义的 Extras。可以在 Low Level API section 查看更多关于它如何工作的信息。的文档。当调用 CustomTabsIntent.Builder#build() 时,它会创建一个 CustomTabsIntent,其中包含正确配置的 Intent。这个 Intent 仍然由 API 公开,这就是我们用来添加 EXTRA_REFERRER 的内容。 .

关于android - 如何在 Android 的 Chrome 自定义标签中将 EXTRA_REFERRER 添加到 CustomTabsIntent 构建器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37937244/

相关文章:

chrome-custom-tabs - Chrome自定义标签CookieManager

android - 如何让我的 Android 应用程序始终在 Chrome 或其他支持 TWA 的浏览器中打开?

android - 如何在未登录时将任何 URL 启动到 Chrome 自定义选项卡

android - 将数据库从 Assets 文件夹复制到数据库文件夹

android - 如何在自己的安卓手机上安装自己在安卓市场发布的付费应用?

android - com.android.support :customtabs: No virtual method launchUrl

android-intent - Android API 30 getPackageManager.resolveActivity() 使用 ACTION_VIEW 返回 null

android - 从 BLE v4.2 到 4.0 的有效载荷大小的向后兼容性

Android mDNS TXT 记录

android - 如何找到androidx.browser :browser version?