我正在编写一个安卓应用程序。在此应用程序中,用户可以键入文本,然后我将其发送到通知以显示给用户。我将文本作为字符串存储在 sharedpreferences 中。通知由警报管理触发,如果手机关闭,警报管理也会关闭。当手机重新启动时,我的 StartUpReceiver 会捕获“BOOT_COMPLETED”广播并发送通知。问题是,通知不能使用 sharedpreferences 字符串来显示用户文本输入。
我发现,应用程序必须在前台或后台运行才能使用共享首选项。所以我现在在想,如果我的 StartUpReceiver 打开,它只是他,而不是我的应用程序调整,对吧?所以不能在 StartUpReceiver 上使用 sharedpreferences 吗?或者有什么你知道的方法吗?
我的另一个解决方案(但我还没有练习)是启动一个服务(互联网说我可以在那里使用共享首选项)并让服务发送通知。
但在较新的 Android 中,该服务必须是前台服务,我真的不喜欢这种解决方案。因此,如果您有任何其他解决方案,我将不胜感激。
最后,对不起我的英语不好。但我希望你明白我想说什么。:-)
非常感谢!