2013年10月1日火曜日

Android GoogleCloudMessaging.register() はUIスレッドで呼んではいけない

  1. public static String getRegistrationId(Context context) {  
  2.     GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(context);  
  3.   
  4.     String registrationId = null;  
  5.     try {  
  6.         registrationId = gcm.register(Consts.PROJECT_NUMBER);  
  7.     } catch (IOException e) {  
  8.         e.printStackTrace();  
  9.     }  
  10.   
  11.     return registrationId;  
  12. }  
を呼んでるんだけど null が返ってくる、なぜだ。。。と思っていたら、IOException が発生していた。。。
  1. 10-01 18:17:18.489: W/System.err(6397): java.io.IOException: MAIN_THREAD  
  2. 10-01 18:17:18.489: W/System.err(6397):  at com.google.android.gms.gcm.GoogleCloudMessaging.register(Unknown Source)  
UIスレッドで呼んじゃいけないのか。リファレンスに書いておいてほしかったなー。。。

と思ったら register() のリファレンスには書いてないのに、なぜかエラーコードのリファレンスにだけ書いてあるとか。ううう。


0 件のコメント:

コメントを投稿