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

Play Games Services排行榜文档代码startActivityForResult已弃用如何修复?

修复Play Games Services排行榜startActivityForResult弃用问题

解决方案:使用Activity Result API替代

Android官方已弃用startActivityForResult,推荐使用Activity Result API处理启动Activity的结果回调,具体步骤如下:

  1. 定义ActivityResultLauncher成员变量
    在你的Activity类中添加成员变量,用于处理排行榜页面的返回结果:
private lateinit var leaderboardLauncher: ActivityResultLauncher<Intent>
  1. 初始化Launcher
    在Activity的onCreate方法中注册Launcher,可根据需求编写回调逻辑(无需处理返回结果时,回调可简化):
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    // 其他初始化代码...

    leaderboardLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
        // 可选:处理返回结果
        if (result.resultCode == Activity.RESULT_OK) {
            // 例如处理用户在排行榜页面的操作结果
        }
    }
}
  1. 修改showLeaderboard方法
    替换原startActivityForResult调用,改用Launcher的launch方法:
private fun showLeaderboard() {
    PlayGames.getLeaderboardsClient(this).allLeaderboardsIntent
        .addOnSuccessListener { intent ->
            leaderboardLauncher.launch(intent)
        }
}

说明

Activity Result API解决了传统startActivityForResult存在的requestCode冲突、生命周期管理混乱等问题,是当前Android官方推荐的标准写法。若无需处理排行榜页面的返回结果,回调部分可仅保留空实现。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 08:56:03