ICS падает, когда intent.getExtras () вызывается - PullRequest
1 голос
/ 28 декабря 2011

Это происходит только на некоторых устройствах ICS.

Что мое приложение делает в основном в ожидании широковещательной передачи и затем запускает службу с намерением.

к намерению прикреплен пакет, который будет считан с

@Override
public void onStart(Intent intent, int startId) {
    sets = new SettingsClass(this);
    Bundle extras = intent.getExtras();

Однако на некоторых устройствах ICS, которые приводят к этой трассировке стека:

java.lang.RuntimeException: Unable to start service de.bulling.smstalk.Services.TTS@418218f8 with null: java.lang.NullPointerException
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2375)
at android.app.ActivityThread.access$1900(ActivityThread.java:122)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1209)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4340)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at de.bulling.smstalk.Services.TTS.onStart(TTS.java:48)
at android.app.Service.onStartCommand(Service.java:438)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2358)
... 10 more
java.lang.NullPointerException
at de.bulling.smstalk.Services.TTS.onStart(TTS.java:48)
at android.app.Service.onStartCommand(Service.java:438)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2358)
at android.app.ActivityThread.access$1900(ActivityThread.java:122)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1209)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4340)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)

Упомянутая строка 48 строка, в которой читаются дополнения.Такое же исключение было сделано с другой службой, которую я раньше называл подобным образом.

Итак, теперь вопрос: как я могу решить эту проблему?Есть ли другой способ запустить службу и передать ей данные, или я позвоню getExtras() в неправильном месте?

Спасибо!

1 Ответ

2 голосов
/ 28 декабря 2011

Похоже, что onStart может быть устарело , вы пробовали метод

@Override

public int onStartCommand(Intent intent, int flags, int startId) 
...