처음으로 Google Play 서비스 리더 보드를 구현하려했지만 문제가있었습니다.여러 활동에서 GoogleApiClient 연결 문제
메인 액티비티에 리더 보드 버튼이 있습니다. 따라서 MainActivity에서 GoogleApiClient를 초기화합니다. 이제까지 좋은 점은 모두 - Google이 연결되고 빈 리더 보드입니다.
실제로 리더 보드를 채우는 점수는 두 번째 활동 인 GameActivity에서 가져옵니다. GoogleApiClient의 또 다른 인스턴스를 만들고 연결을 시도합니다. 하지만 .. apiClient.connect()를 호출 한 후에도 항상 실패합니다.
잘못된 것이 있습니까? 프로그램 전체에서 단 1 명의 고객 만 허용됩니까?
나는 초기화하는 활동 모두에서이 코드를 사용 :
이apiClient = new GoogleApiClient.Builder(this)
.addApi(Games.API)
.addScope(Games.SCOPE_GAMES)
.enableAutoManage(this, new GoogleApiClient.OnConnectionFailedListener() {
@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
Toast.makeText(LevelSelector.this, "Failed to connect to google play", Toast.LENGTH_LONG).show();
}
})
.build();
내가 주요 활동
leaderboardTextView = (TextView) findViewById(R.id.leaderboard_button);
leaderboardTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivityForResult(
Games.Leaderboards.getLeaderboardIntent(apiClient,
getString(R.string.leaderboard_most_stars)), 0);
}
});
에서 리더를 호출하고 점수가 다른 활동에서 리더 보드에 제출