android - SharedPreferences does not apply() or commit() inside a service with its own process -
i have service has own process:
<service android:name=".services.commander" android:label="@string/commander" android:process=":commander_process" > </service> inside service asynctask executed using executeonexecutor. inside onpostexecute method want write data using following code:
sharedpreferences prefs = getsharedpreferences("my_app_key", context.mode_private); prefs.edit().putstring(constants.pref_key_app_password, md5.get(password)).apply(); but, code has no effect , prefs won't update. tried commit() rather apply() , didn't work, too. tried mode_multi_process instead of mode_private:
sharedpreferences prefs = getsharedpreferences("my_app_key", context.mode_multi_process); it didn't work.
my code works on android 2.3.6, wouldn't work on android 4.2.2. how can fix it?
unfortunately, sharedpreferences not process-safe after using mode_multi_process. ran service same process main activity , works properly. changed code in manifest xml:
<service android:name=".services.commander" android:label="@string/commander" > </service>
Comments
Post a Comment