即使Android应用未运行,我也有一个Activity
和几个应该运行的远程服务。我需要服务来监听主SharedPreferences
Activity
的变化(当它运行时),但我该怎么做呢?
BroadcastReceiver
? IPC通讯?不确定..
你能帮我一把吗?
非常感谢, 马努。
答案 0 :(得分:1)
我有一个Activity和几个应该运行的远程服务,即使Android应用程序没有运行。
首先,您首先不需要“多个远程服务”。最多,您需要多个非远程服务。远程与“即使Android应用程序未运行也应该运行”完全无关。你这样浪费了大量的RAM,CPU和电池。
其次,由于即使Android应用程序未运行,用户和操作系统都不希望“多个”服务“运行”,请尝试将它们合并为一个服务,并且只有在主动交付时才能使用该服务对用户的价值。例如,观看时间刻度不主动为用户提供价值 - 请使用AlarmManager
。
我需要服务来监听主Activity的SharedPreferences中的更改(当它正在运行时),但我该怎么办呢?
让它们不再是远程服务,然后让服务向OnSharedPreferenceChangeListener
注册SharedPreferences
,以了解有关偏好的更改。