0

I have Two Apps, App1 and App2. I want to save data in App1 using shared preference and access in App2 and vice versa. I'm able to save data in App1 and access in App2 but not the opposite.

This is what I'm doing now :

In Manifest:

android:sharedUserId="any string" android:sharedUserLabel="@string/any_string" 

In App1:

SharedPreferences prefs = getSharedPreferences("demopref",Context.MODE_PRIVATE); SharedPreferences.Editor editor =prefs.edit(); editor.putString("demostring", strShareValue); editor.commit(); 

In App2:

try { con = createPackageContext("com.sharedpref1", 0); SharedPreferences pref = con.getSharedPreferences("demopref", Context.MODE_PRIVATE); String your_data = pref.getString("demostring", "No Value"); } catch (NameNotFoundException e) { Log.e("Not data shared", e.toString()); } 

Guys any clue ?

3
  • 1
    Better to use ContentProvider for that. It's best Commented Feb 26, 2016 at 12:49
  • developer.android.com/guide/topics/providers/… Commented Feb 26, 2016 at 13:05
  • I just need to share a few strings. For that will it be optimal to use ContentProvider ? Commented Feb 26, 2016 at 13:05

2 Answers 2

1

When writing data to the shared preference use edit.apply() instead of edit.commit(), as edit.apply will update the preference object instantly and will save the new values asynchronously, so allowing you to read the latest values.

Use this code:

In Manifest:

android:sharedUserId="any string" android:sharedUserLabel="@string/any_string" 

In App1:

SharedPreferences prefs = getSharedPreferences("demopref",Context.MODE_PRIVATE); SharedPreferences.Editor editor =prefs.edit(); editor.putString("demostring", strShareValue); editor.apply(); 

In App2:

try { con = createPackageContext("com.sharedpref1", 0); SharedPreferences pref = con.getSharedPreferences("demopref", Context.MODE_PRIVATE); String your_data = pref.getString("demostring", "No Value"); } catch (NameNotFoundException e) { Log.e("Not data shared", e.toString()); } 
Sign up to request clarification or add additional context in comments.

Comments

0

user CONTEXT_IGNORE_SECURITY and MODE_WORLD_WRITEABLE for access shared data between two apps

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.