public void onButtonButtonMode(View view)
{
signIn();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 1){
assert data != null;
gameMode = data.getIntExtra("Mode", 0);
Intent intent;
switch (gameMode){
case 1:
intent = new Intent(this, QuizMode1.class);
break;
case 3:
intent = new Intent(this, RoomWaiting.class);
startActivityForResult(intent, 3);
return;
case 2:
intent = new Intent(this, QuizMode2.class);
break;
default:
Log.e("MainActivity", "게임 모드가 정해지지 않았습니다.");
return;
}
intent.putExtra("Mode", gameMode);
intent.putExtra("id", (String)mAuth.getUid());
startActivity(intent);
}
if(requestCode == 3){
Intent intent = new Intent(this, QuizMode1.class);
intent.putExtra("Mode", gameMode);
intent.putExtra("key", data.getStringExtra("key")); //###MainActivity.java:169#####
intent.putExtra("id", (String)mAuth.getUid());
startActivity(intent);
}
//login
// Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...);
if (requestCode == RC_SIGN_IN) {
Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data);
try {
// Google Sign In was successful, authenticate with Firebase
GoogleSignInAccount account = task.getResult(ApiException.class);
firebaseAuthWithGoogle(account);
} catch (ApiException e) {
}
}
}
파이어베이스를 통해서 두 휴대폰이 퍼즐 게임을 동시에 시작하려고 하는데 원래는 waiting이 true이고 참가자가 들어오면서 false로 바뀌고 방을 만든 유저가 false로 바뀐걸 인식하고 참가하도록 되어있었는데 방을 만든 유저는 먹통이고 참가한 유저만 퀴즈에 입장하는 문제가 생겨서 addValue리스너의 onDataChange로 파이어베이스에 저장된 waiting1과 waiting2가 모두 true가 되면 matchingsuccess가 실행되도록 코드를 짰더니 위의 mainactivity 169줄에
intent.putExtra("key", data.getStringExtra("key"));
에서 null 오류가 납니다. 어디가 문제일까요??