Autore Topic: Problema con IntentService innestato  (Letto 480 volte)

Offline gius83

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
Problema con IntentService innestato
« il: 28 Agosto 2015, 14:40:46 CEST »
0
Buongiorno a tutti,
ho un problmea con l'avvio di un intentService che però è una classe interna.
Il servizio è dichiarato nel manifest:
Codice (XML): [Seleziona]
<service android:name="com.example.myproject.BLElib$ConnectService"
           android:exported="false"
           ></service>
Questa è la classe contenitore con la sottoclasse che estende IntentService
Codice (Java): [Seleziona]
public class BLElib{
        public static class ConnectService extends IntentService
        {
                public ConnectService(){
                        super("ConnectService");
                }
                @Override
                protected void onHandleIntent(Intent intent) {         
                       
                }
               
                  @Override
                  public void onCreate() {
                  }
                   
               
                  @Override
                  public void onDestroy() {
                  }
        }
}
L'activity chiamante avvia il servizio:
Codice (Java): [Seleziona]
        @Override
        public void onCreate(Bundle savedInstanceState)
        {
                super.onCreate(savedInstanceState);
                Connection=new Intent(getApplicationContext(), BLElib.ConnectService.class);
                startService(Connection);
}
Quando cerca di lanciare il servizio da errore su super("ConnectService"):
Codice (XML): [Seleziona]
E/ActivityThread(6910): Caused by: java.lang.UnsatisfiedLinkError: Native method not found: dalvik.system.VMRuntime.pauseGc:(Ljava/lang/String;)I



Post unito: [time]28 Agosto 2015, 14:59:14 CEST[/time]
Il problema persiste anche con un IntentService non innestato. Ho fatto la prova e l'errore che mi da è il medesimo. Potrebbe essere un problema di Eclipse?

Post unito: [time]28 Agosto 2015, 15:04:06 CEST[/time]
Scusate temo che la riga di errore indicata in precedenza non riguarda il problema in questione (che permane)  ma fa riferimento ad una serie di errori che mi da sistematicamente Eclipse quando lancio il debug. Ecco il log completo di questi errori:
Codice (Java): [Seleziona]
08-28 15:01:41.333: W/dalvikvm(13925): No implementation found for native Ldalvik/system/VMRuntime;.pauseGc:(Ljava/lang/String;)I
08-28 15:01:41.343: E/ActivityThread(13925): Pause GC
08-28 15:01:41.343: E/ActivityThread(13925): java.lang.reflect.InvocationTargetException
08-28 15:01:41.343: E/ActivityThread(13925):    at java.lang.reflect.Method.invokeNative(Native Method)
08-28 15:01:41.343: E/ActivityThread(13925):    at java.lang.reflect.Method.invoke(Method.java:515)
08-28 15:01:41.343: E/ActivityThread(13925):    at android.app.ActivityThread.pauseGC(ActivityThread.java:5525)
08-28 15:01:41.343: E/ActivityThread(13925):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2324)
08-28 15:01:41.343: E/ActivityThread(13925):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471)
08-28 15:01:41.343: E/ActivityThread(13925):    at android.app.ActivityThread.access$900(ActivityThread.java:175)
08-28 15:01:41.343: E/ActivityThread(13925):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308)
08-28 15:01:41.343: E/ActivityThread(13925):    at android.os.Handler.dispatchMessage(Handler.java:102)
08-28 15:01:41.343: E/ActivityThread(13925):    at android.os.Looper.loop(Looper.java:146)
08-28 15:01:41.343: E/ActivityThread(13925):    at android.app.ActivityThread.main(ActivityThread.java:5602)
08-28 15:01:41.343: E/ActivityThread(13925):    at java.lang.reflect.Method.invokeNative(Native Method)
08-28 15:01:41.343: E/ActivityThread(13925):    at java.lang.reflect.Method.invoke(Method.java:515)
08-28 15:01:41.343: E/ActivityThread(13925):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
08-28 15:01:41.343: E/ActivityThread(13925):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
08-28 15:01:41.343: E/ActivityThread(13925):    at dalvik.system.NativeStart.main(Native Method)
08-28 15:01:41.343: E/ActivityThread(13925): Caused by: java.lang.UnsatisfiedLinkError: Native method not found: dalvik.system.VMRuntime.pauseGc:(Ljava/lang/String;)I
08-28 15:01:41.343: E/ActivityThread(13925):    at dalvik.system.VMRuntime.pauseGc(Native Method)
08-28 15:01:41.343: E/ActivityThread(13925):    ... 15 more
08-28 15:01:41.383: E/MoreInfoHPW_ViewGroup(13925): Parent view is not a TextView

Post unito: [time]28 Agosto 2015, 15:34:07 CEST[/time]
Ecco il log corretto generato quando cerco di avviare l'intentService:
Codice (Java): [Seleziona]
08-28 15:27:06.393: D/AndroidRuntime(16870): Shutting down VM
08-28 15:27:06.393: W/dalvikvm(16870): threadid=1: thread exiting with uncaught exception (group=0x418a4c08)
08-28 15:27:06.393: E/AndroidRuntime(16870): FATAL EXCEPTION: main
08-28 15:27:06.393: E/AndroidRuntime(16870): Process: com.example.myproject, PID: 16870
08-28 15:27:06.393: E/AndroidRuntime(16870): java.lang.RuntimeException: Unable to start service com.example.myproject.test@421690c8 with Intent { cmp=com.example.myproject/.test }: java.lang.NullPointerException
08-28 15:27:06.393: E/AndroidRuntime(16870):    at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3007)
08-28 15:27:06.393: E/AndroidRuntime(16870):    at android.app.ActivityThread.access$2200(ActivityThread.java:175)
08-28 15:27:06.393: E/AndroidRuntime(16870):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405)
08-28 15:27:06.393: E/AndroidRuntime(16870):    at android.os.Handler.dispatchMessage(Handler.java:102)
08-28 15:27:06.393: E/AndroidRuntime(16870):    at android.os.Looper.loop(Looper.java:146)
08-28 15:27:06.393: E/AndroidRuntime(16870):    at android.app.ActivityThread.main(ActivityThread.java:5602)
08-28 15:27:06.393: E/AndroidRuntime(16870):    at java.lang.reflect.Method.invokeNative(Native Method)
08-28 15:27:06.393: E/AndroidRuntime(16870):    at java.lang.reflect.Method.invoke(Method.java:515)
08-28 15:27:06.393: E/AndroidRuntime(16870):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
08-28 15:27:06.393: E/AndroidRuntime(16870):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
08-28 15:27:06.393: E/AndroidRuntime(16870):    at dalvik.system.NativeStart.main(Native Method)
08-28 15:27:06.393: E/AndroidRuntime(16870): Caused by: java.lang.NullPointerException
08-28 15:27:06.393: E/AndroidRuntime(16870):    at android.app.IntentService.onStart(IntentService.java:116)
08-28 15:27:06.393: E/AndroidRuntime(16870):    at android.app.IntentService.onStartCommand(IntentService.java:130)
08-28 15:27:06.393: E/AndroidRuntime(16870):    at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2990)
08-28 15:27:06.393: E/AndroidRuntime(16870):    ... 10 more

Post unito: 28 Agosto 2015, 16:09:17 CEST
Ho risolto. Avevo dimenticato di chiamare i costruttori dalla classe padre  :-)
« Ultima modifica: 28 Agosto 2015, 16:09:17 CEST da gius83, Reason: Merged DoublePost »