Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t在Android服务中保存或读取共享首选项_Android_Sharedpreferences_Android Service - Fatal编程技术网

Can';t在Android服务中保存或读取共享首选项

Can';t在Android服务中保存或读取共享首选项,android,sharedpreferences,android-service,Android,Sharedpreferences,Android Service,在我的服务中保存或读取共享首选项无效。你能提出一些解决办法吗 写: SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); Set<String> set = new HashSet<String>(); for (PagerTagGattClient deviceGatt : this){

在我的服务中保存或读取共享首选项无效。你能提出一些解决办法吗

写:

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());


    Set<String> set = new HashSet<String>();        
    for (PagerTagGattClient deviceGatt : this){
        set.add(getBluetoothDevice().getAddress());         
    }

    Editor editor = prefs.edit();
    editor.putStringSet(PREF_DEVICES, set);
    return editor.commit();
SharedReferences prefs=PreferenceManager.GetDefaultSharedReferences(getApplicationContext());
Set=newhashset();
对于(PagerTagGattClient deviceGatt:此){
set.add(getBluetoothDevice().getAddress());
}
编辑器编辑器=prefs.edit();
编辑器.putStringSet(PREF_设备,set);
返回editor.commit();
Read-in-service onCreate:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
Set<String> set = new HashSet<String>();
prefs.getStringSet(PREF_DEVICES, set);

if (set.isEmpty()) Log.e(TAG, "Prefs is empty!"); 
SharedReferences prefs=PreferenceManager.GetDefaultSharedReferences(getApplicationContext());
Set=newhashset();
prefs.getStringSet(PREF_设备,set);
if(set.isEmpty())Log.e(标记“Prefs为空!”);

读取集始终为空。

您需要实际将读取的值分配给变量

改变

prefs.getStringSet(PREF_DEVICES, set);


第二个参数是默认值,在您的情况下,它是一个空的
HashSet
(您可以这样做,也可以更改为适当的默认值)。

您需要实际将读取的值分配给变量
set

改变

prefs.getStringSet(PREF_DEVICES, set);

第二个参数是默认值,在您的情况下,它是一个空的
HashSet
(您可以不使用它,也可以更改为适当的默认值)。

试试这个

SharedPreferences sharedPref = this.getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
 editor.putStringSet(PREF_DEVICES, set);
editor.commit();
阅读时使用

试试这个

SharedPreferences sharedPref = this.getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
 editor.putStringSet(PREF_DEVICES, set);
editor.commit();
阅读时使用