Google Play 서비스를 처음 사용합니다.Google Play 서비스를 초기화 할 수 없습니다.
"google-play-services-lib"및 "BaseGameUtils"라이브러리를 추가했습니다. 나는 내 수업 변경에 "BaseGameActivity을"확장 여기
코드입니다 :public class MainActivity extends BaseGameActivity implements View.OnClickListener {
Button skipBut;
View signInBut;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_main);
skipBut = (Button) findViewById(R.id.justPlay);
signInBut = (View) findViewById(R.id.sign_in_button);
skipBut.setOnClickListener(this);
signInBut.setOnClickListener(this);
}
@Override
public void onClick(View view) {
// TODO Auto-generated method stub
if(view.getId() == R.id.sign_in_button){
beginUserInitiatedSignIn();
}
else if(view.getId() == R.id.justPlay){
// play without sign in .... code ....
}
}
@Override
public void onSignInFailed() {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "fail", Toast.LENGTH_SHORT).show();
}
@Override
public void onSignInSucceeded() {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "success", Toast.LENGTH_SHORT).show();
}
}
하지만 내 앱은 아래로 충돌한다. 이유를 찾을 수 없습니다. 참고 : 또한 응용 프로그램 ID를 Manifest 및 문자열 (app_id)로 추가했습니다. 여기
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data android:name="com.google.android.gms.games.*****id****"
android:value="@string/app_id" />
가 로그 캣입니다 :
09-08 14:57:19.500: W/ActivityThread(18213): Application com.cdev.colormatch is waiting for the debugger on port 8100...
09-08 14:57:19.520: I/System.out(18213): Sending WAIT chunk
09-08 14:57:19.540: I/dalvikvm(18213): Debugger is active
09-08 14:57:19.720: I/System.out(18213): Debugger has connected
09-08 14:57:19.725: I/System.out(18213): waiting for debugger to settle...
09-08 14:57:19.925: I/System.out(18213): waiting for debugger to settle...
09-08 14:57:20.125: I/System.out(18213): waiting for debugger to settle...
09-08 14:57:20.325: I/System.out(18213): waiting for debugger to settle...
09-08 14:57:20.525: I/System.out(18213): waiting for debugger to settle...
09-08 14:57:20.725: I/System.out(18213): waiting for debugger to settle...
09-08 14:57:20.925: I/System.out(18213): waiting for debugger to settle...
09-08 14:57:21.125: I/System.out(18213): debugger has settled (1465)
09-08 14:57:21.505: W/PopupManager(18213): You have not specified a View to use as content view for popups. Falling back to the Activity content view which may not work properly in future versions of the API. Use setViewForPopups() to set your content view.
09-08 14:57:22.225: D/dalvikvm(18213): threadid=1: still suspended after undo (sc=1 dc=1)
업데이트
내가 (https://developers.google.com/games/services/android/init#using_gamehelper_without_basegameactivity에서 설명) GameBaseActivity에
public class MainActivity extends ActionBarActivity implements View.OnClickListener {
Button skipBut;
View signInBut;
GameHelper mHelper;
boolean mExplicitSignOut = false;
boolean mInSignInFlow = false;
GoogleApiClient mClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setContentView(R.layout.activity_main);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
skipBut = (Button) findViewById(R.id.justPlay);
signInBut = (View) findViewById(R.id.sign_in_button);
skipBut.setOnClickListener(this);
signInBut.setOnClickListener(this);
GoogleApiClient.Builder builder = new GoogleApiClient.Builder(this);
builder.addApi(Games.API)
.addApi(Plus.API)
.addApi(AppStateManager.API)
.addScope(Games.SCOPE_GAMES)
.addScope(Plus.SCOPE_PLUS_LOGIN)
.addScope(AppStateManager.SCOPE_APP_STATE);
mClient = builder.build();
mHelper = new GameHelper(this, GameHelper.CLIENT_ALL);
GameHelperListener listener = new GameHelper.GameHelperListener() {
@Override
public void onSignInSucceeded() {
// handle sign-in succeess
}
@Override
public void onSignInFailed() {
// handle sign-in failure (e.g. show Sign In button)
}
};
mHelper.setup(listener);
}
@Override
public void onClick(View view) {
// TODO Auto-generated method stub
if(view.getId() == R.id.sign_in_button){
mHelper.beginUserInitiatedSignIn();
}
else if(view.getId() == R.id.justPlay){
// skipp sign in
}
}
}
을 확장하지 않고 게임 도우미를 사용하여 시도했지만 여전히 다운 충돌 :(
이 일부 사용 될 수 있습니다 : https://github.com/marmalade/s3eGooglePlayGames/blob/master/source/android/GameHelper.java – 2Dee
이것은 라이브러리로 사용하고있는 GameHelper 클래스입니다. 나에게 무슨 말하려고 한거야? @ 2Dee – ctarimli
지정한 logcat에는 오류가 없으므로 문제가 무엇인지 파악하기가 어렵습니다. logcat을 오류가 포함 된 사본으로 업데이트하십시오 (즉, 앱이 고장난 곳). 접두어 앞에 'E'가 붙습니다. – free3dom