You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何隐藏Trusted Web Activity的错误提示Toast

阻止Trusted Web Activity错误Toast显示的方法

TWA默认弹出的错误Toast,可通过自定义回调或修改配置拦截,具体分场景处理:

1. 拦截Digital Assets Link验证失败的Toast

这类Toast由TWA的验证逻辑触发,通过自定义TwaLauncher.Callback覆盖默认行为即可:

val launcher = TwaLauncher(this)
launcher.launch(
    Uri.parse("https://your-domain.com"),
    object : TwaLauncher.Callback() {
        override fun onDigitalAssetLinksValidationFailed() {
            // 不调用super方法,即可阻止默认Toast弹出
            // 可在此添加自定义处理,比如仅记录日志
        }
    }
)

2. 拦截网络中断等加载错误的Toast

这类错误Toast来自Custom Tabs内部逻辑,需通过自定义CustomTabsCallback拦截导航失败事件:

val customTabsIntent = CustomTabsIntent.Builder().build()
val connection = object : CustomTabsServiceConnection() {
    override fun onCustomTabsServiceConnected(name: ComponentName, client: CustomTabsClient) {
        val callback = object : CustomTabsCallback() {
            override fun onNavigationEvent(event: Int, extras: Bundle?) {
                // 拦截导航失败事件
                if (event == CustomTabsCallback.NAVIGATION_FAILED) {
                    // 不触发默认Toast,自定义处理逻辑
                } else {
                    super.onNavigationEvent(event, extras)
                }
            }
        }
        client.warmup(0L)
        client.newSession(callback)
    }

    override fun onServiceDisconnected(name: ComponentName?) {}
}

// 绑定CustomTabs服务
CustomTabsClient.bindCustomTabsService(this, "com.android.chrome", connection)
// 启动TWA
customTabsIntent.launchUrl(this, Uri.parse("https://your-domain.com"))

若使用TrustedWebActivityIntentBuilder,可结合上述回调方法覆盖默认错误处理。注意不同浏览器的Custom Tabs实现可能存在差异,建议在Chrome、Edge等主流浏览器上测试验证。

内容的提问来源于stack exchange,提问作者Sara Talaat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 21:45:48