android – Intent始终为null onStartCommand

前端之家收集整理的这篇文章主要介绍了android – Intent始终为null onStartCommand前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有以下代码

@Override
public int onStartCommand(Intent intent,int flags,int startId) {
    if(intent != null) {
        Log.i("INTENT",intent.getAction().toString());
    }
    return START_STICKY;
}

但它总是在线返回NullPointerException:

Log.i("INTENT",intent.getAction().toString());

为什么?如果“intent”变量不为null,我正在检查上面.如果是这种情况,请执行以下代码.但我仍然有nullpointerexception.

服务从以下活动开始:

startService(new Intent(this,MainService.class));

我究竟做错了什么?

最佳答案
您收到NullPointerException,因为intent.getAction()似乎返回null.

你应该把支票延伸到这个:

if(intent != null && intent.getAction() != null) {

如果要为意图添加动作,则需要调用setAction()

Intent i = new Intent(this,MainService.class);
i.setAction("foo");
startService(i);

猜你在找的Android相关文章