关于如何在Intent
方法中检索(或保留)onStartCommand
信息,我有一点问题。
我的MainActivity
使用 String 值启动服务...
Intent intent = new Intent(this, Service.class);
intent.putExtra("key", getIntent().getStringExtra("key"));
startService(intent);
...然后我的Service
使用此Intent
值 - intent.getStringExtra("key")
- 用于某些事情。
但是......问题是当用户(或系统)从内存中删除活动并且我的服务重新启动时,Intent
将为空。
( START_STICKY
)
我想用Preferences
来解决这个问题,但是......我不喜欢这样。
有谁知道解决这个问题的好方法?也许我有一个概念问题但我不知道呢?
答案 0 :(得分:4)
START_STICKY
无法解决您的问题,因为在重新启动您的服务后,系统不会重新发送您的意图,在您的情况下它将为空。
要获得以前的意图,您需要从服务的START_REDELIVER_INTENT
返回onStartCommand
。
有关详细信息,请参阅this
希望这能解决你的问题......