google cloud messaging - Unable to unregister GCM in Android -
i trying unregister gcm
when user logout. using following code it.
public void logout(){ googlecloudmessaging gcm = googlecloudmessaging.getinstance(newsettings.this); try { gcm.unregister(); } catch (ioexception e) { e.printstacktrace(); e.tostring(); toast.maketext(newsettings.this,"problem in logout, try again later!",toast.length_long).show(); } }
this not unregister gcm getting exception in logcat
this
07-14 10:54:20.718 26537-26537/com.artqueen.aahaan w/system.err﹕ java.io.ioexception: main_thread 07-14 10:54:20.718 26537-26537/com.artqueen.aahaan w/system.err﹕ @ com.google.android.gms.gcm.googlecloudmessaging.unregister(unknown source) 07-14 10:54:20.718 26537-26537/com.artqueen.aahaan w/system.err﹕ @ com.artqueen.aahaan.activities.newsettings.logout(newsettings.java:157) 07-14 10:54:20.718 26537-26537/com.artqueen.aahaan w/system.err﹕ @ com.artqueen.aahaan.activities.newsettings$7.onclick(newsettings.java:120) 07-14 10:54:20.718 26537-26537/com.artqueen.aahaan w/system.err﹕ @ android.view.view.performclick(view.java:5254) 07-14 10:54:20.718 26537-26537/com.artqueen.aahaan w/system.err﹕ @ android.view.view$performclick.run(view.java:21173) 07-14 10:54:20.718 26537-26537/com.artqueen.aahaan w/system.err﹕ @ android.os.handler.handlecallback(handler.java:739) 07-14 10:54:20.718 26537-26537/com.artqueen.aahaan w/system.err﹕ @ android.os.handler.dispatchmessage(handler.java:95) 07-14 10:54:20.718 26537-26537/com.artqueen.aahaan w/system.err﹕ @ android.os.looper.loop(looper.java:145) 07-14 10:54:20.718 26537-26537/com.artqueen.aahaan w/system.err﹕ @ android.app.activitythread.main(activitythread.java:6837) 07-14 10:54:20.718 26537-26537/com.artqueen.aahaan w/system.err﹕ @ java.lang.reflect.method.invoke(native method) 07-14 10:54:20.718 26537-26537/com.artqueen.aahaan w/system.err﹕ @ java.lang.reflect.method.invoke(method.java:372) 07-14 10:54:20.718 26537-26537/com.artqueen.aahaan w/system.err﹕ @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:1404) 07-14 10:54:20.718 26537-26537/com.artqueen.aahaan w/system.err﹕ @ com.android.internal.os.zygoteinit.main(zygoteinit.java:1199)
the documentation mentions that
so tried use this
public void logout(){ instanceid instanceid = instanceid.getinstance(newsettings.this); try { instanceid.deleteinstanceid(); } catch (ioexception e) { e.printstacktrace(); e.tostring(); toast.maketext(newsettings.this,"problem in logout, try again later!",toast.length_long).show(); }
}
and still getting in logcat
07-14 11:02:03.228 31682-31682/com.artqueen.aahaan w/system.err﹕ java.io.ioexception: main_thread 07-14 11:02:03.238 31682-31682/com.artqueen.aahaan w/system.err﹕ @ com.google.android.gms.iid.instanceid.zzb(unknown source) 07-14 11:02:03.238 31682-31682/com.artqueen.aahaan w/system.err﹕ @ com.google.android.gms.iid.instanceid.deleteinstanceid(unknown source) 07-14 11:02:03.238 31682-31682/com.artqueen.aahaan w/system.err﹕ @ com.artqueen.aahaan.activities.newsettings.logout(newsettings.java:158) 07-14 11:02:03.238 31682-31682/com.artqueen.aahaan w/system.err﹕ @ com.artqueen.aahaan.activities.newsettings$7.onclick(newsettings.java:121) 07-14 11:02:03.238 31682-31682/com.artqueen.aahaan w/system.err﹕ @ android.view.view.performclick(view.java:5254) 07-14 11:02:03.238 31682-31682/com.artqueen.aahaan w/system.err﹕ @ android.view.view$performclick.run(view.java:21173) 07-14 11:02:03.238 31682-31682/com.artqueen.aahaan w/system.err﹕ @ android.os.handler.handlecallback(handler.java:739) 07-14 11:02:03.238 31682-31682/com.artqueen.aahaan w/system.err﹕ @ android.os.handler.dispatchmessage(handler.java:95) 07-14 11:02:03.238 31682-31682/com.artqueen.aahaan w/system.err﹕ @ android.os.looper.loop(looper.java:145) 07-14 11:02:03.238 31682-31682/com.artqueen.aahaan w/system.err﹕ @ android.app.activitythread.main(activitythread.java:6837) 07-14 11:02:03.238 31682-31682/com.artqueen.aahaan w/system.err﹕ @ java.lang.reflect.method.invoke(native method) 07-14 11:02:03.238 31682-31682/com.artqueen.aahaan w/system.err﹕ @ java.lang.reflect.method.invoke(method.java:372) 07-14 11:02:03.238 31682-31682/com.artqueen.aahaan w/system.err﹕ @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:1404) 07-14 11:02:03.238 31682-31682/com.artqueen.aahaan w/system.err﹕ @ com.android.internal.os.zygoteinit.main(zygoteinit.java:1199)
am unregistering gcm
in proper way ? please let me know how can achieve it. in advance.
i needed run in new thread. fixed problem. @calvinfly.
public void logout(){ instanceid = instanceid.getinstance(newsettings.this); thread thread = new thread(new runnable() { @override public void run() { try { instanceid.deleteinstanceid(); } catch (exception bug) { bug.printstacktrace(); } } }); thread.start(); }
Comments
Post a Comment