我尝试尝试的最佳示例可以通过simcity应用程序的行为进行描述(我确信很多其他人,我可能不知道也使用谷歌登录Google游戏) 。一旦您在simcity上登录Google Play游戏,每次启动应用程序时,都会显示一个从屏幕顶部滑动的弹出窗口,其中显示," Welcome ** user *"。现在在我的应用程序中,我已经关注了所有谷歌的文档(https://developers.google.com/games/services/android/init)和其他各种来源,并且我唯一一次看到"欢迎"弹出窗口是用户第一次登录后。我onResume
和onStart
中唯一的代码是mGoogleApi.connect()
,这与我第一次点击登录按钮时显示的代码完全相同,并显示了欢迎对话框。
我的问题是:我是否遗漏了如何显示此对话框的内容,或者是每次关闭应用程序然后在我再次打开应用程序时将simcity以某种方式签署我的内容? (对我来说,似乎没有意义,但目前是我能想到的唯一合乎逻辑的解释。)
为了100%精确,下面的图像正是我想要的。
答案 0 :(得分:3)
每次登录或验证呼叫都不会显示欢迎消息。如果用户已“最近”登录到应用程序,则不会显示该消息。这有点令人困惑,因为连接是静默发生的。您可以通过在代码中调用mGoogleAPI.isConnected()来确认您已连接。
我引用“最近”,因为它实际上是由Play游戏服务决定的。它旨在减少用户的注意力,因此他们专注于实际游戏,而不是指示他们已登录。
答案 1 :(得分:0)
您可能想尝试使用PreferenceScreen,它代表作为Preference层次结构根的顶级Preference
。 PreferenceActivity
指向此类的实例以显示首选项。
以下是PreferenceScreen
的示例XML布局:
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
android:key="first_preferencescreen">
<CheckBoxPreference
android:key="wifi enabled"
android:title="WiFi" />
<PreferenceScreen
android:key="second_preferencescreen"
android:title="WiFi settings">
<CheckBoxPreference
android:key="prefer wifi"
android:title="Prefer WiFi" />
... other preferences here ...
</PreferenceScreen>
</PreferenceScreen>
有关更详细的信息,您可以查看完整的documentation。此外,此SO post中给出的解决方案也可能有所帮助。