Null Pointer Ausnahme starten IntentService

Ich habe einen IntentService, den ich anfange zu starten. Wenn ich das mache, spuckt es das aus:

java.lang.RuntimeException: Unable to start service com.pec.testapp.service.NewsService@406bd940 with Intent { cmp=com.pec.testapp/.service.NewsService }: java.lang.NullPointerException at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2173) ... (omitted for brevity) Caused by: java.lang.NullPointerException at android.app.IntentService.onStart(IntentService.java:110) at android.app.IntentService.onStartCommand(IntentService.java:118) at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2160) ... 10 more 

Ich habe das gegoogelt und sah so viele ähnliche StackOverflow Fragen wie ich finden konnte. Allerdings gibt es ein paar subtile Unterschiede, die ich nicht um meinen Kopf umwickeln kann. Zunächst einmal gibt es keine meiner Klassen, die in der Ausnahme referenziert werden. Zweitens wurden ähnliche Fragen durch die Änderung des Kontextes oder der doppelten Überprüfung behoben, um sicherzustellen, dass es nicht null ist.

  • Handhabung und Schadensbegrenzung IllegalStateException ("Fehler beim Speichern Zustand: aktiv $ Fragment hat den Index gelöscht: -1")
  • Wie man Grenze für Android Webview festlegt
  • Android Emulator: konnte nicht bekommen wglGetExtensionsStringARB Fehler
  • Android Wie kann ich eine prozentuale Polsterung / Marge setzen, so dass EditText 10% Marge auf beiden Seiten hat?
  • Android: Google Maps API Key Signup: MD5 Zertifizierungsschlüssel
  • Was ist "Kontextmenü" & Methode registerForContextMenu ()
  • Ich habe Code zu überprüfen, das ist nicht der Fall:

     public Context context; @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); context = getApplicationContext(); if(context == null) Log.d("PECAPP","Context is null"); setContentView(R.layout.news_layout); ...Omit button code... button.setOnClickListener(new OnClickListener(){ @Override public void onClick(View view){ Intent i = new Intent(context, NewsService.class); // also tried NewsActivity.this if( i != null) // I know that this should never happen but I'm at a loss... startService(i); // I've also tried this with context.startService(i) } }); } 

    Mein IntentService ist nach dem Google Docs modelliert. Einfach ein Konstruktor mit einer onHandleIntent Methode.

     public NewsService() { super("NewsService"); } ...omit onCreate() and onDestroy() since they haven't been implemented yet... @Override protected void onHandleIntent(Intent intent) throws IllegalArgumentException { Log.d("PECAPP","Got here..."); // I never actually got here... if(intent == null) Log.d("PECAPP","INTENT IS NULL"); ...omit rest of code... } 

    Also meine Frage ist: Woher kommt diese Ausnahme von und gibt es etwas, das ich anders machen kann, um es zu vermeiden? Meine google-fu hat mich in der Vergangenheit nicht versagt, so hoffentlich ist dies nicht eine dieser schmerzlich offensichtlichen Antworten. Auch wenn es Dinge gibt, die besser gemacht werden können oder einfach nur hässlich sind, wird konstruktive Kritik immer geschätzt.

    Ich habe die ganze Auszeichnung, NewsActivity und NewsService auf Pastebin, falls ich etwas herausgelassen habe. Http://pastebin.com/mR9Sykrq

  • IABHelper QueryInventoryAsync gibt keine Käufe zurück, doch startet der Produktfluss mit "Item Already Owned"
  • Android Realm Initialisierung im Projekt
  • "Android.database.sqlite.SQLiteException: keine solche Tabelle" Fehler in seltenen Fällen
  • Wie können wir den Menüpunkt dynamisch hinzufügen
  • Wie man Symbole in der Symbolleiste im Android-Studio zentriert
  • Wie erfahre ich, ob der Benutzer meine App verlassen hat?
  • 2 Solutions collect form web for “Null Pointer Ausnahme starten IntentService”

    Wenn du in deinem IntentService onCreate() überschreiben onCreate() , dann super.onCreate() dir sicher, dass du super.onCreate() . Das scheint sehr wahrscheinlich dein Problem zu sein.

    Nicht sicher, ob es das gleiche Problem ist, aber ich war mit einem intentService auch, und ich hatte Probleme mit der Verwendung

     context = getApplicationContext(); 

    Oder context = getBaseContext (); Ich war nicht überbewertet auf Create so die vorherige Lösung kann die Lösung für Sie sein, ich arbeitete innen "onHandleIntent"

    Ich würde eine sofortige Ausnahme mit dem ersten bekommen, und eine Ausnahme später, als ich versuchte, die 2. zu verwenden.

    Ich habe erkannt, dass der Intentservice selbst eine Unterklasse von Kontext ist, also habe ich "dieses" ersetzt, wo immer ich eine Instanz von "Kontext" brauchte.

    Das hat mein Problem gelöst.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.