android - 调用 intent.getExtras() 时 ICS 崩溃

标签 android exception crash android-intent android-service

这只发生在一些 ICS 设备上。

我的应用所做的基本上是等待广播,然后以 Intent 启动服务。

Intent 有一个附加的包,将用

读出
@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()

谢谢!

最佳答案

看起来 onStart 可能是 deprecated ,你试过这个方法了吗

@Override

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

关于android - 调用 intent.getExtras() 时 ICS 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8654424/

相关文章:

wcf - WCF中的日志记录错误-引发异常时,日志文件中不存储任何内容

python - 在上下文处理程序中重新引发异常

java - Android 致命信号 11

ios - iOS中的App Store应用提交问题

javascript - 如何在使用 preact.js 构建的 android 上部署 PWA?

android - 如何检测Android屏幕方向改变

java.sql.SQLException : ORA-00942: table or view does not exist, 每三次命中数据库一次

java - 此代码有什么问题?应用程序应获取位置

android - 设计工具栏和使用 float 操作按钮

android - 如何在 Android 中创建原始套接字?