在我的游戏应用中,我希望用户在启动活动期间登录Google Play服务,因此我将其设为子类BaseGameActivity
。然后为游戏启动单独的活动,最后我想使用Google Play服务更新排行榜,这需要调用BaseGameActivity.getApiClient()
。
我应该如何使用与子类BaseGameActivity
不同的活动使用Google Play服务?
我想到的两个选项是:传递对起始活动的引用,或者使用处理程序并向起始活动发送消息。但是我不知道哪种方法会更好(或者如果第三种方式更好),看起来这可能是一种相当常见的情况。
答案 0 :(得分:4)
如果要将GameHelper
用于多个活动,最好不使用BaseGameActivity
来实现它,然后在活动之间传递GameHelper
实例(或在某处保留静态实例)。
您可以找到直接使用GameHelper
on this page的说明(请参阅使用不带BaseGameActivity的GameHelper 标题)。
确保在所有使用它的活动中放置所需的GameHelper
次来电(尤其是onActivityResult
)。至于登录/注销,您需要自行确定放置这些活动的活动,具体取决于您的应用流程。