Gcm Registration AsyncTask crasch android 2.3.7 -



Gcm Registration AsyncTask crasch android 2.3.7 -

run android 2.3.7 crash android 4.2.2 run ok sorry english

class="snippet-code-js lang-js prettyprint-override">package com.lemieapp.gcmclient; import android.content.context; import android.os.asynctask; import android.widget.toast; import com.google.android.gms.gcm.googlecloudmessaging; import com.google.api.client.extensions.android.http.androidhttp; import com.google.api.client.extensions.android.json.androidjsonfactory; import com.google.api.client.googleapis.services.abstractgoogleclientrequest; import com.google.api.client.googleapis.services.googleclientrequestinitializer; import com.lemieapp.backend.registration.registration; import java.io.ioexception; import java.util.logging.level; import java.util.logging.logger; /** * created dead or live on 07/04/2015. */ class gcmregistrationasynctask extends asynctask<void, void, string> { private static registration regservice = null; private googlecloudmessaging gcm; private context context; // todo: alter own sender id google developers console project number, per instructions above private static final string sender_id = "xxxxxxxxx"; public gcmregistrationasynctask(context context) { this.context = context; } @override protected string doinbackground(void... params) { if (regservice == null) { registration.builder builder = new registration.builder(androidhttp.newcompatibletransport(), new androidjsonfactory(), null) .setrooturl("https://gcmclient-907.appspot.com/_ah/api/"); // end of optional local run code regservice = builder.build(); } string msg = ""; seek { if (gcm == null) { gcm = googlecloudmessaging.getinstance(context); } string regid = gcm.register(sender_id); msg = "device registered, registration id=" + regid; // should send registration id server on http, // can utilize gcm/http or ccs send messages app. // request server should authenticated if app // using accounts. regservice.register(regid).execute(); } grab (ioexception ex) { ex.printstacktrace(); msg = "error: " + ex.getmessage(); } homecoming msg; } @override protected void onpostexecute(string msg) { toast.maketext(context, msg, toast.length_long).show(); logger.getlogger("registration").log(level.info, msg); } }

log.cat

04-12 12:40:47.284 2162-2162/com.lemieapp.gcmclient d/szipinf﹕ initializing inflate state 04-12 12:40:49.524 2162-2182/com.lemieapp.gcmclient w/dalvikvm﹕ threadid=9: thread exiting uncaught exception (group=0x40015608) 04-12 12:40:49.584 2162-2182/com.lemieapp.gcmclient e/androidruntime﹕ fatal exception: asynctask #1 java.lang.runtimeexception: error occured while executing doinbackground() @ android.os.asynctask$3.done(asynctask.java:200) @ java.util.concurrent.futuretask$sync.innersetexception(futuretask.java:274) @ java.util.concurrent.futuretask.setexception(futuretask.java:125) @ java.util.concurrent.futuretask$sync.innerrun(futuretask.java:308) @ java.util.concurrent.futuretask.run(futuretask.java:138) @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1088) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:581) @ java.lang.thread.run(thread.java:1019) caused by: java.lang.illegalargumentexception: running on android sdk level 10 requires minimum 11 @ com.google.api.client.repackaged.com.google.common.base.preconditions.checkargument(preconditions.java:119) @ com.google.api.client.util.preconditions.checkargument(preconditions.java:69) @ com.google.api.client.extensions.android.androidutils.checkminimumsdklevel(androidutils.java:48) @ com.google.api.client.extensions.android.json.androidjsonfactory.(androidjsonfactory.java:75) @ com.lemieapp.gcmclient.gcmregistrationasynctask.doinbackground(gcmregistrationasynctask.java:36) @ com.lemieapp.gcmclient.gcmregistrationasynctask.doinbackground(gcmregistrationasynctask.java:21) @ android.os.asynctask$2.call(asynctask.java:185) @ java.util.concurrent.futuretask$sync.innerrun(futuretask.java:306)             at java.util.concurrent.futuretask.run(futuretask.java:138)             at java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1088)             at java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:581)             at java.lang.thread.run(thread.java:1019) 04-12 12:40:49.684 2162-2164/com.lemieapp.gcmclient d/dalvikvm﹕ gc_concurrent freed 228k, 50% free 2874k/5639k, external 0k/0k, paused 2ms+3ms 04-12 12:40:49.704 2162-2162/com.lemieapp.gcmclient w/keycharactermap﹕ no keyboard id -1 04-12 12:40:49.704 2162-2162/com.lemieapp.gcmclient w/keycharactermap﹕ using default keymap: /system/usr/keychars/qwerty.kcm.bin

your logs give error - need set minimum api level in androidmaifest.xml 11. according official docs, using gcm on pre 3.0 devices, requires user signed google play services account. not needed in version 4.0.4 , above , why not seeing error.

android android-service

Comments

Popular posts from this blog

java - How to set log4j.defaultInitOverride property to false in jboss server 6 -

c - GStreamer 1.0 1.4.5 RTSP Example Server sends 503 Service unavailable -

Using ajax with sonata admin list view pagination -