Kam*_*one 4 android android-widget android-service android-activity
我将一些值存储到从窗口小部件启动的活动的共享首选项中.如果我从同一小部件启动的服务中检索该值,则不是更新的小部件.我在共享偏好中获得了之前的值.即使我在共享首选项xml中检查该值,我在那里看到更新的那个.为什么会这样.我知道小部件和活动是两个过程,是什么原因?
SharedPreferences preferences = getSharedPreferences("preferences_target_value", Context.MODE_PRIVATE);
String targetValue = preferences.getString("preferences_target_value", "0");
System.out.println("targetValue "+targetValue);`
Run Code Online (Sandbox Code Playgroud)
每个进程都缓存这些值.
如果您在Android> 2.3上运行,则必须MODE_MULTI_PROCESS在呼叫时指定getSharedPreferences ().如果您在Android <2.3上运行,那么它应该正常工作.如果您在Android 2.3上运行,那么共享首选项中存在一个错误,无论您做什么,它都无法在多个进程中正常运行.
| 归档时间: |
|
| 查看次数: |
2664 次 |
| 最近记录: |