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

GlanceTileService无法向MainActivity传递ActionParameters问题求助

解决Wear OS Glance Tile按钮传参问题

问题原因

你使用的glance-wear-tiles:1.0.0-alpha05是早期测试版本,存在actionStartActivity传递ActionParameters到Intent的功能缺陷,导致参数无法正常传递到MainActivity。

解决方案

方案1:升级Glance依赖版本

将依赖升级到最新稳定版(当前为1.0.0),该版本已修复此传参问题:

implementation("androidx.glance:glance-wear-tiles:1.0.0")

升级后,你原有的ActionParameters传参代码即可正常工作,MainActivity能通过intent.extras?.getString("hello")获取到参数值。

方案2:直接构建带参数的Intent(兼容旧版本)

如果暂时无法升级依赖,可跳过ActionParameters,直接构建包含参数的Intent传递:

@ExperimentalComposeUiApi
class FirstTile : GlanceTileService() {

    @Composable
    override fun Content() {
        Column(
            modifier = GlanceModifier.fillMaxWidth(),
            horizontalAlignment = Alignment.CenterHorizontally,
            verticalAlignment = Alignment.Top
        ) {
            Row(
                modifier = GlanceModifier.fillMaxWidth(),
                horizontalAlignment = Alignment.CenterHorizontally
            ) {
                Button(
                    modifier = GlanceModifier.size(58.dp), 
                    text = "Try me",
                    onClick = actionStartActivity(
                        Intent(this@FirstTile, MainActivity::class.java).apply {
                            putExtra("hello", "android")
                        }
                    )
                )
            }
        }
    }
}

MainActivity中的参数接收代码无需修改,依然可以通过intent.extras?.getString("hello")获取参数。

验证方法

运行项目后,点击Tile按钮,查看日志:

Check whole intent -->  D  #Intent;launchFlags0x10400000;component=com.example.test/.presentation.MainActivity;extra=hello:android;sourceBounds=134%20134%20250%20250;end
Check hello -->         D  android

此时参数已成功传递。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 06:48:20