2013-07-22 89 views
1

我在尝试注册GCM时遇到此错误。 我的AVD目标是Android 4.2.2和API等级是17. 随着SGS3 4.2.2正常工作,Galaxy GT-I9003和所有版本的Emulator都无法正常工作。 我已经将所有库导入到正确的文件夹中。如果有人能帮助我们,请写下解决方案!GCM不在某些设备中注册

07-22 16:09:02.023: W/System.err(12698): java.io.IOException: SERVICE_NOT_AVAILABLE 
07-22 16:09:02.023: W/System.err(12698): at com.google.android.gms.gcm.GoogleCloudMessaging.register(Unknown Source) 
07-22 16:09:02.023: W/System.err(12698): at appgelato.ui.HomeActivity$5.doInBackground(HomeActivity.java:237) 
07-22 16:09:02.031: W/System.err(12698): at appgelato.ui.HomeActivity$5.doInBackground(HomeActivity.java:1) 
07-22 16:09:02.031: W/System.err(12698): at android.os.AsyncTask$2.call(AsyncTask.java:185) 
07-22 16:09:02.039: W/System.err(12698): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) 
07-22 16:09:02.039: W/System.err(12698): at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
07-22 16:09:02.039: W/System.err(12698): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) 
07-22 16:09:02.039: W/System.err(12698): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) 
07-22 16:09:02.039: W/System.err(12698): at java.lang.Thread.run(Thread.java:1019) 

我的代码是:

try { 
        if (gcm == null) { 
         gcm = GoogleCloudMessaging.getInstance(context); 
        } 
        while (regid.equals("")) { 
         regid = gcm.register(SENDER_ID); //STOP HERE AND CALL EXCEPTION 
         msg = "Device registered, registration id=" + regid; 
         setRegistrationId(context, regid); 
        } 
        Controller.setDeviceToken(regid); 

       } catch (IOException ex) { 
        ex.printStackTrace(); 
        msg = "Error :" + ex.getMessage(); 

       } 
+0

更有可能你没有互联网连接的设备。但是显示你的代码,我们不能再做任何事情,然后建议没有代码的情况下可能会出错。 –

+0

我确定我有连接,所有两个设备连接在同一个wifi。 –

+0

我加了,对不起! –

回答

0

的问题是,你的AVD必须有谷歌API的目标。 而且你必须配置一个谷歌账户

相关问题