you do not need a content provider to access shared preferences. The fact that you are storing some data in "shared" preferences is sufficient to let other applications access the same. Context.getSharedPreferences(filename,..) gives you a SharedPreferences object that contains all the data shared across activities.
If you store in "preferences" only the activity that created it can access it. Activity.getPreferences() is used for the same.
you may view http://www.androidcompetencycenter.com/tag/preferences/