Jetpack Compose跳转Activity报Unresolved reference: ContextAmbient错误如何解决
报错原因
ContextAmbient 是Jetpack Compose alpha/beta测试阶段的旧API,在1.0.0正式版本发布时就已经被重命名移除,所以会出现未找到引用的报错。
解决方案
将代码里的ContextAmbient.current替换为正式版API LocalContext.current即可,修改后的代码如下:
import androidx.compose.ui.platform.LocalContext import android.content.Intent import androidx.compose.material3.Button import androidx.compose.material3.Text import androidx.compose.runtime.Composable @Composable fun SwitchingActivity() { val context = LocalContext.current Button(onClick = { context.startActivity(Intent(context, AnotherActivity::class.java)) }) { Text(text = "Another Activity") } }
补充说明
- 若出现
LocalContext未找到的报错,手动导入包androidx.compose.ui.platform.LocalContext即可 - 如果你是在非Activity宿主的Compose场景下启动Activity,需要给Intent添加
FLAG_ACTIVITY_NEW_TASK标签,常规Activity内嵌的Compose不需要额外配置。
内容的提问来源于stack exchange,提问作者Shahed Ahmed
相关产品推荐
相关产品推荐

