【问题标题】:Shared preferences inside broadcastreceiver广播接收器内部的共享首选项
【发布时间】:2012-02-22 21:44:21
【问题描述】:

在我的应用程序中,我想在广播接收器中使用共享首选项...但我无法访问内部的 getPreferences() 方法...

 SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);

我不能用上下文对象调用...任何其他方法???

【问题讨论】:

    标签: android broadcastreceiver sharedpreferences


    【解决方案1】:

    您可以使用来自 BroadReceiver 的onReceive(Context arg0, Intent arg1) 的上下文。

    @Override
        public void onReceive(Context arg0, Intent arg1) {
            SharedPreferences prefs = arg0.getSharedPreferences("myPrefs", 
                                                            Context.MODE_PRIVATE);
    }
    

    【讨论】:

    • 不,这取决于您的使用情况。
    • @subrussn90 有,安全问题。
    • @YoushaAleayoub 请详细说明或给出更好的答案!
    • @LalitPoptani 所以让我教你:android doc:“创建世界可读的文件是非常危险的,并且可能会导致应用程序中的安全漏洞。强烈建议不要这样做;相反,应用程序应该使用更正式的文件ContentProvider、BroadcastReceiver 和 Service 等交互机制。无法保证此访问模式将保留在文件上,例如在进行备份和恢复时。"
    • @YoushaAleayoub 哪里是世界可读的?在我的答案中使用?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-03
    • 1970-01-01
    相关资源
    最近更新 更多