2

I'm trying to access SharedPreference from a service and getting an error which I cannot find anywhere on the net. Any help is appreciated. Thank you.

code sharedPref = getApplicationContext().getSharedPreferences("FlutterSharedPreferences",Context.MODE_PRIVATE|Context.MODE_MULTI_PROCESS);

2020-09-10 21:16:04.057 10186-10186/com.example.demo1 E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.demo1, PID: 10186
    java.lang.RuntimeException: Unable to start service com.example.demo1.MorningReset@ce7eae1 with Intent { flg=0x4 cmp=com.example.demo1/.MorningReset (has extras) }: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.os.UserManager.isUserUnlockingOrUnlocked(int)' on a null object reference
        at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3686)
        at android.app.ActivityThread.access$1600(ActivityThread.java:199)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1681)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6669)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.os.UserManager.isUserUnlockingOrUnlocked(int)' on a null object reference
        at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:418)
        at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:404)
        at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:174)
        at com.example.demo1.MorningReset.onStartCommand(MorningReset.java:25)

This error appears only when accessing the SharedPreference from a service. The same line of code works fine in an activity.

  • Hi @Pavan. In order for contributors to help you. You should improve your question. Refer to this link. https://stackoverflow.com/help/how-to-ask – Luke Villanueva Sep 10 '20 at 15:56
  • see this https://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-i-fix-it – aryanknp Sep 10 '20 at 16:51

1 Answers1

-1

write data to shared preferences

SharedPreferences sharedPreferences =getSharedPreferences("MySharedPref",MODE_PRIVATE); 
SharedPreferences.Editor myEdit = sharedPreferences.edit(); 
myEdit.putString( "name", name.getText().toString()); 

myEdit.apply(); 

retrieve data from shared preferences

SharedPreferences sh = getSharedPreferences("MySharedPref", MODE_PRIVATE); 
String name = sh.getString("name", ""); 
name.setText(name); 
Taha Gorme
  • 456
  • 1
  • 12