总结:
关于如何在我的Intent方法中检索(或保留)onStartCommand信息,我有一个小问题。
场景:
myMainActivity使用字符串值启动服务…

Intent intent = new Intent(this, Service.class);
intent.putExtra("key", getIntent().getStringExtra("key"));
startService(intent);

…然后我的Service使用这个Intent值-intent.getStringExtra("key")-来做一些事情。
问题是:
但是…问题是当用户(或系统)从内存中删除活动并且我的服务正在重新启动时,Intent将为空。
START_STICKY
我想用Preferences来解决这个问题,但是…我不喜欢这样。
有谁知道解决这个问题的好办法吗?也许我有一个概念问题,我不知道?

最佳答案

START_STICKY无法解决您的问题,因为在重新启动服务时,系统不会重新传递您的意图,而且在您的情况下,它将为空。
要获得先前的意图,您需要从START_REDELIVER_INTENT返回onStartCommand服务。
有关更多信息,请阅读this
希望这能解决你的问题…

10-07 19:49
查看更多