我正在使用开发人员文档中的这个简单方法解锁成就:
Games.Achievements.unlock(getApiClient(), "my_achievement_id");
成就解锁,但没有弹出窗口显示。登录Google Play游戏时也没有弹出窗口 - 已连接。
答案 0 :(得分:14)
我一直在努力解决这个问题,这就是为什么决定在stackoverflow上分享它。我在my developer's blog上描述了对此问题的简单修复。
以下是简短版本:
只需在要显示成就的布局上添加视图,如下所示:
<FrameLayout
android:id="@+id/gps_popup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp" />
当您准备好布局时,您需要在Activity或Fragment中执行此操作:
Games.setViewForPopups(getApiClient(), findViewById(R.id.gps_popup));
您必须确定您的GoogleApiClient已连接,否则您的应用会崩溃。
答案 1 :(得分:9)
<FrameLayout
android:id="@+id/gps_popup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp" />
这与JacekKwiecień的答案相同
GamesClient gamesClient = Games.getGamesClient(MainActivity.this, GoogleSignIn.getLastSignedInAccount(context));
gamesClient.setViewForPopups(findViewById(R.id.gps_popup));
这已更改,因为不推荐使用带有2个参数的setViewForPopups。
答案 2 :(得分:2)
Jacek和user3782779的答案对我不起作用,我必须执行以下操作:
SELECT e.INCIDENT_NUMBER, e.DETAILED_DESCRIPTION, e.INCIDENT_ROOT_CAUSE
FROM N_EVALUATION e JOIN
N_DISPOSITION d
ON e.INCIDENT_NUMBER = d.INCIDENT_NUMBER
WHERE d.DISPOSITION_LINE_NUM = 1 AND
e.ACTIVE_FLAG = 'Y' AND
d.ACTIVE_FLAG = 'Y' AND
e.DETAILED_DESCRIPTION IS NOT NULL;
答案 3 :(得分:0)
有同样的问题。我已通过在成就中添加图标解决了该问题。我不是在开玩笑,这真的很奇怪,但是此后开始起作用。请注意,我所说的是未发布项目,我只是在测试我的应用,不知道发生了什么。