如何在静态方法中访问首选项

时间:2010-08-21 06:17:51

标签: android

所以我有一个广播接收器需要通知服务它已收到短信。这样做的唯一方法(据我所知)是静态方法。但是通知的方法需要访问应用程序的首选项。

我尝试过的每个方法都说无法从静态方法访问它。那么如何从静态方法访问首选项呢?

2 个答案:

答案 0 :(得分:1)

您可以使用context的{​​{1}}参数访问属于BroadcastReceiver的内容,例如Context

要查看使用getSharedPreferences的一些代码示例,请参阅另一个问题Making data persistent in android

答案 1 :(得分:1)

  

执行此操作的唯一方法(据我所知)是一种静态方法。

几乎没有。事实上,不推荐这种方法。

如果在收到广播时服务应该在内存中,请让服务通过BroadcastReceiver注册registerReceiver()并直接处理。如果收到广播时服务不应该在内存中,请使用startService()启动服务并通过Intent发送(在onStart()服务中选择)。< / p>

  

那么如何从静态方法中访问首选项?

请参阅Pentium10的回答。