Search code examples
androidpreferencesshared

Android: Retrieving shared preferences of other application


I have a settings application from which i have to retrieve other applications preferences, but i don't have the details of keys in them, how can i retrieve all the available keys and values in that preference?

Thanks, Swathi


Solution

  • Assuming the preference are WORLD_READABLE, this might work:

    final ArrayList<HashMap<String,String>> LIST = new ArrayList<HashMap<String,String>>();
    // where com.example is the owning  app containing the preferences
    Context myContext = createPackageContext("com.example", Context.MODE_WORLD_WRITEABLE); 
    SharedPreferences testPrefs = myContext.getSharedPreferences("test_prefs", Context.MODE_WORLD_READABLE); 
    Map<String, ?> items = testPrefs .getAll();
    for(String s : items.keySet()) {
      // do something like String value = items.get(s).toString());
    }