服务不会收到意图/额外费用

Iir*_*kka 2 service android extras android-intent

我不知道这里有什么问题.

Activity.java:

...
Intent intent = new Intent(Activity.this, Service.class);
intent.putExtra(Service.KEY_TEST, "123456789");
startService(intent);
...
Run Code Online (Sandbox Code Playgroud)

Service.java:

...
private Intent intent;
public static final String KEY_TEST;

@Override
public void onCreate() {
    super.onCreate();
    Log.d("TEST", intent.getStringExtra(KEY_TEST)); // when I remove this line,
    // it works, otherwise gives NullPointerException and FC's
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    this.intent = intent;
    return START_STICKY;
}
...
Run Code Online (Sandbox Code Playgroud)

该服务显然没有收到活动发送的额外内容.当我尝试获取之前发送的任何额外内容时,app force关闭,LogCat给出NullPointerException.当我删除我尝试获取额外内容的行时,应用程序不会强行关闭,但我显然也没有收到附加内容.

use*_*305 5

把这条线放进Log.d("TEST", intent.getStringExtra(KEY_TEST));去,

onStartCommand(Intent intent, int flags, int startId) 方法..

编辑:

有关服务生命周期如何跟随的更多信息,请查看此服务生命周期.