Well, i am an Android newbie. I am trying to write an application which has one activity which starts another activity (Preference Activity), and one BoradcastReceiver. They are all in three different files. My question is: How to share Preferences betweens these components, e.g. how to read preferences that are set in Preference Activity from Broadcast Receiver?
            Asked
            
        
        
            Active
            
        
            Viewed 4,093 times
        
    2
            
            
        - 
                    This questions is likely an exact duplicate of http://stackoverflow.com/questions/2614719/how-do-i-get-the-sharedpreferences-from-a-preferenceactivity-in-android – Kurtis Nusbaum Oct 21 '11 at 22:24
1 Answers
5
            I have asked this same exact question before and here is the code I used:
public class BootupReceiver extends BroadcastReceiver {
private static final boolean BOOTUP_TRUE = true;
private static final String BOOTUP_KEY = "bootup";
@Override
public void onReceive(Context context, Intent intent) {
    if(getBootup(context)) {
        NotificationManager NotifyM = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
        Notification Notify = new Notification(R.drawable.n,
                "NSettings Enabled", System.currentTimeMillis());
        Notify.flags |= Notification.FLAG_NO_CLEAR;
        Notify.flags |= Notification.FLAG_ONGOING_EVENT;
        RemoteViews contentView = new RemoteViews(context.getPackageName(), R.layout.notification);
        Notify.contentView = contentView;
        Intent notificationIntent = new Intent(context, Toggles.class);
        PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);
        Notify.contentIntent = contentIntent;
                    int HELO_ID = 00000;
        NotifyM.notify(HELLO_ID, Notify);
    }
    Intent serviceIntent = new Intent();
    serviceIntent.setAction("com.leozar100.myapp.NotifyService");
    context.startService(serviceIntent);
}
public static boolean getBootup(Context context){
    return PreferenceManager.getDefaultSharedPreferences(context).getBoolean(BOOTUP_KEY, BOOTUP_TRUE);
}
}
The service that I start does nothing I just initiate one because I think it just helps the broadcast receiver work. Also this broadcast receiver is registered in my manifest like so:
<receiver android:name=".BootupReceiver">
        <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
        <category android:name="android.intent.category.HOME" />
        </intent-filter>
</receiver>
Which starts on bootup requiring the permission android.permission.RECEIVE_BOOT_COMPLETED
Reference to my question can be found here
P.S. Welcome to stackoverflow
 
    
    
        Community
        
- 1
- 1
 
    
    
        camelCaseD
        
- 2,483
- 5
- 29
- 44
