Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.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
Java Android远程服务未获取SharedReference_Java_Android_Android Service_Sharedpreferences_Android Preferences - Fatal编程技术网

Java Android远程服务未获取SharedReference

Java Android远程服务未获取SharedReference,java,android,android-service,sharedpreferences,android-preferences,Java,Android,Android Service,Sharedpreferences,Android Preferences,我在尝试在服务中获取SharedReference值时遇到了很多问题。当我第一次运行服务时,我能够从另一个活动中获取值,共享首选项似乎工作正常。我能够获取保存的值,但如果我停止服务并更改某些首选项,然后再次运行服务,我将获取第一次保存的首选项 从一个活动或一个正常的服务中,我可以获得SharedReference,但对于远程服务来说,它似乎无法获得 这是清单文件中服务的声明: <service android:name="com.app.test.TestServi

我在尝试在服务中获取SharedReference值时遇到了很多问题。当我第一次运行服务时,我能够从另一个活动中获取值,共享首选项似乎工作正常。我能够获取保存的值,但如果我停止服务并更改某些首选项,然后再次运行服务,我将获取第一次保存的首选项

从一个活动或一个正常的服务中,我可以获得SharedReference,但对于远程服务来说,它似乎无法获得

这是清单文件中服务的声明:

    <service
        android:name="com.app.test.TestService"
        android:enabled="true"
        android:exported="true"
        android:process=":remote">
    </service>
要关闭服务,代码如下:

Intent ServiceIntent = new Intent(getActivity(), TestService.class);
                getActivity().stopService(ServiceIntent);
在onCreate方法中,pref是服务的一个全局变量,我得到的首选项如下:

pref = PreferenceManager
            .getDefaultSharedPreferences(getApplicationContext());

你们知道为什么我只选择了第一时间值吗?以及如何在第二次运行或第三次运行时获得首选项等?

您是否尝试过使用MODE\u MULTI\u流程?看这里,我认为它可以帮助您了解远程流程
pref = PreferenceManager
            .getDefaultSharedPreferences(getApplicationContext());