我有短信广播接收器。基本上我想读取发件人编号并将其存储在共享首选项中。如何从广播接收器访问我的应用程序的共享偏好设置?
我发现在接收器之间维护信息的唯一解决方案是使用全局变量,但我不确定这是否正确
由于
答案 0 :(得分:3)
您可以像这样
从广播接收器访问您的共享偏好设置@Override
public void onReceive(Context arg0, Intent arg1) {
SharedPreferences prefs = arg0.getSharedPreferences("myPrefs",
Context.MODE_PRIVATE);
}
注意强>
<receiver android:name="MySmsReceiver" android:process=":remote" />
如果您使用的是android:process=":remote"
,则可能需要将其删除。此属性使接收方在调用时在不同的/新进程上运行。但是不同进程之间不支持SharedPreferences
。
只要您没有在接收器中执行大任务,就没有任何问题。