从广播接收器访问共享首选项

时间:2015-02-02 02:52:13

标签: android

我有短信广播接收器。基本上我想读取发件人编号并将其存储在共享首选项中。如何从广播接收器访问我的应用程序的共享偏好设置?

我发现在接收器之间维护信息的唯一解决方案是使用全局变量,但我不确定这是否正确

由于

1 个答案:

答案 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

只要您没有在接收器中执行大任务,就没有任何问题。