android - App got crash when trying to access gcm token the time of disconnected internet -


@override protected void onhandleintent(intent intent) {     sharedpreferences sharedpreferences = preferencemanager.getdefaultsharedpreferences(this);      try {         // in (unlikely) event multiple refresh operations occur simultaneously,         // ensure processed sequentially.         synchronized (tag) {             // [start get_token]             // call goes out network retrieve token, subsequent calls             // local.             instanceid instanceid = instanceid.getinstance(this);             string token = instanceid.gettoken(getstring(r.string.gcm_defaultsenderid),                     googlecloudmessaging.instance_id_scope, null);             log.i(tag, "gcm registration token: " + token);              // todo: implement method send registration app's servers.             sendregistrationtoserver(token);              // subscribe topic channels             subscribetopics(token);              // should store boolean indicates whether generated token has been             // sent server. if boolean false, send token server,             // otherwise server should have received token.             sharedpreferences.edit().putboolean(quickstartpreferences.sent_token_to_server, true).apply();             // [end get_token]         }     } catch (exception e) {         log.d(tag, "failed complete token refresh", e);         // if exception happens while fetching new token or updating our registration data         // on third-party server, ensures we'll attempt update @ later time.         sharedpreferences.edit().putboolean(quickstartpreferences.sent_token_to_server, false).apply();     }     // notify ui registration has completed, progress indicator can hidden.     intent registrationcomplete = new intent(quickstartpreferences.registration_complete);     localbroadcastmanager.getinstance(this).sendbroadcast(registrationcomplete); } 

app got crash while accessing token using instanceid.gettoken method , device not connected internet.

calling service manifest

<service         android:name="com.sample.gcmclient.registrationintentservice"         android:exported="false"> 

logcat details

06-03 12:50:46.070    3067-4207/? d/gcm﹕ gcmservice start intent { act=com.google.android.c2dm.intent.register pkg=com.google.android.gms cmp=com.google.android.gms/.gcm.gcmservice (has extras) } com.google.android.c2dm.intent.register 06-03 12:50:46.080    9974-9974/com.sample.gcmclient d/dalvikvm﹕ dexopt: couldn't find field landroid/os/message;.sendinguid 06-03 12:50:46.080    9974-9974/com.sample.gcmclient w/dalvikvm﹕ vfy: unable resolve instance field 116 06-03 12:50:46.080    9974-9974/com.sample.gcmclient d/dalvikvm﹕ vfy: replacing opcode 0x52 @ 0x0000 06-03 12:50:46.130    3067-4223/? w/gcm﹕ missmatched messenger 06-03 12:50:46.170   9974-10176/com.sample.gcmclient d/regintentservice﹕ failed complete token refresh java.io.ioexception: service_not_available         @ com.google.android.gms.iid.zzc.zzb(unknown source)         @ com.google.android.gms.iid.zzc.zza(unknown source)         @ com.google.android.gms.iid.instanceid.zzc(unknown source)         @ com.google.android.gms.iid.instanceid.gettoken(unknown source)         @ com.sample.gcmclient.registrationintentservice.onhandleintent(registrationintentservice.java:68)         @ android.app.intentservice$servicehandler.handlemessage(intentservice.java:65)         @ android.os.handler.dispatchmessage(handler.java:99)         @ android.os.looper.loop(looper.java:137)         @ android.os.handlerthread.run(handlerthread.java:60) 06-03 12:50:53.080    4378-4380/? d/dalvikvm﹕ gc_concurrent freed 101k, 19% free 5091k/6248k, paused 2ms+2ms, total 17ms 06-03 12:50:53.150    4378-4420/? d/finsky﹕ [179] appstatesreplicator.handlecontentsyncresponse: completed 0 account content syncs 0 successful. 06-03 12:50:53.160    4378-4378/? d/finsky﹕ [1] 5.onfinished: installation state replication succeeded. 06-03 12:51:11.940    3350-3354/? d/dalvikvm﹕ gc_concurrent freed 468k, 22% free 4985k/6344k, paused 2ms+3ms, total 18ms 

how fix bug. thank shinurag kr


Comments