2014-07-26 2 views
1

내 주요 활동은 BaseGameActivity를 확장하며 리더 보드에 표시되는 사용자 이름을 얻으려고합니다. 나는 사용하여 시도 :BaseGameActivity에서 상속하는 동안 Google+ 계정 이름 가져 오기

Plus.AccountApi.getAccountName(getApiClient()); 

을하지만 내가지고있어, 작동하지 않습니다 :

07-26 15:03:44.624: E/AndroidRuntime(28361): FATAL EXCEPTION: main 
07-26 15:03:44.624: E/AndroidRuntime(28361): java.lang.NullPointerException: Appropriate Api was not requested. 
07-26 15:03:44.624: E/AndroidRuntime(28361): at com.google.android.gms.internal.hn.b(Unknown Source) 
07-26 15:03:44.624: E/AndroidRuntime(28361): at com.google.android.gms.common.api.c.a(Unknown Source) 
07-26 15:03:44.624: E/AndroidRuntime(28361): at com.google.android.gms.internal.kj.a(Unknown Source) 
07-26 15:03:44.624: E/AndroidRuntime(28361): at com.google.android.gms.internal.kj.getAccountName(Unknown Source) 
07-26 15:03:44.624: E/AndroidRuntime(28361): at com.gfel.maze.StartPage$4.onClick(StartPage.java:158) 
07-26 15:03:44.624: E/AndroidRuntime(28361): at android.view.View.performClick(View.java:4147) 
07-26 15:03:44.624: E/AndroidRuntime(28361): at android.view.View$PerformClick.run(View.java:17161) 
07-26 15:03:44.624: E/AndroidRuntime(28361): at android.os.Handler.handleCallback(Handler.java:615) 
07-26 15:03:44.624: E/AndroidRuntime(28361): at android.os.Handler.dispatchMessage(Handler.java:92) 
07-26 15:03:44.624: E/AndroidRuntime(28361): at android.os.Looper.loop(Looper.java:213) 
07-26 15:03:44.624: E/AndroidRuntime(28361): at android.app.ActivityThread.main(ActivityThread.java:4787) 
07-26 15:03:44.624: E/AndroidRuntime(28361): at java.lang.reflect.Method.invokeNative(Native Method) 
07-26 15:03:44.624: E/AndroidRuntime(28361): at java.lang.reflect.Method.invoke(Method.java:511) 
07-26 15:03:44.624: E/AndroidRuntime(28361): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) 
07-26 15:03:44.624: E/AndroidRuntime(28361): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556) 
07-26 15:03:44.624: E/AndroidRuntime(28361): at dalvik.system.NativeStart.main(Native Method) 

나는 BaseGameActivity를 사용 때문에 다른 방법을 찾고 GoogleApiClient.Builder하지만 임을 사용하는 방법이 알고있다.

답변

0

onCreate 메서드에서 setRequestedClients (BaseGameActivity.CLIENT_GAMES | BaseGameActivity.CLIENT_PLUS);

는 super.conCreate (savedInstanceState) 전에

@Override 
public void onCreate(Bundle savedInstanceState) { 
    // set requested clients (games and cloud save) 
    setRequestedClients(BaseGameActivity.CLIENT_GAMES | 
      BaseGameActivity.CLIENT_PLUS); 

    super.onCreate(savedInstanceState); 


    setContentView(R.layout.activity_leaderboard); 
} 

더 많은 정보는 https://developers.google.com/games/services/android/init

에서 읽을 수 있습니다
관련 문제