2016-12-27 119 views
1

我尝试尝试的最佳示例可以通过simcity应用程序的行为来描述(我确信许多其他人也可能不知道使用Google登录Google Play游戏)。一旦你登录谷歌玩模拟游戏,每次从那以后,你启动应用程序会弹出一个从屏幕顶部滑动的弹出窗口,显示“欢迎**用户*”。现在在我的应用程序中,我已经遵循了所有谷歌的文档(https://developers.google.com/games/services/android/init)和各种其他来源,并且唯一一次我看到“欢迎”弹出窗口是在用户第一次登录后。我在onResumeonStart中唯一的代码是mGoogleApi.connect(),这与我第一次点击登录按钮并显示欢迎对话框时的代码完全相同。显示Google Play游戏所有应用程序启动的欢迎对话框

我的问题是这样的:我是否错过了如何让对话框显示,或者像simcity这样的应用程序以某种方式在我每次关闭应用程序时签出我,然后再次打开时重新输入? (对我来说,这似乎没有道理,但目前是我能想到的唯一合理的解释。)

为了100%准确,下图是我正在寻找的。

enter image description here

回答

2

每次调用登录或认证时都不会显示欢迎消息。如果用户已经“近期”登录到应用程序,则不显示消息。这有点令人困惑,因为连接默默地发生。您可以通过在代码中调用mGoogleAPI.isConnected()来确认您已连接。

我引用了“近期”,因为它实际上是由Play游戏服务确定的。它的目的是为了减少用户的注意力,所以他们专注于实际的游戏与他们登录的迹象。

+0

这个答案应该被接受 - 这正是横幅的工作原理。您可以尝试通过将系统时钟向前设置一天左右并重新打开应用程序来进行验证。 – tmtrademark

0

您可能需要使用PreferenceScreen其中,代表顶级Preference这是一个优先层次的根尝试。 A 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中给出的解决方案也可能有所帮助。

+0

我不确定这将如何帮助我 – ez4nick

相关问题