Android получить настройки от приемника вещания - PullRequest
1 голос
/ 22 октября 2011

Ну, я новичок в Android.Я пытаюсь написать приложение, которое имеет одно действие, которое запускает другое действие (Preference Activity), и одно BoradcastReceiver.Они все в трех разных файлах.У меня вопрос: как поделиться настройками между этими компонентами, например, как читать настройки, заданные в действиях с предпочтениями, из Broadcast Receiver?

1 Ответ

4 голосов
/ 22 октября 2011

Я задавал тот же самый вопрос раньше, и вот код, который я использовал:

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);
}
}

Служба, которую я запускаю, ничего не делает, я просто запускаю ее, потому что я думаю, что она просто помогает работе приемника вещания.Также этот приемник вещания зарегистрирован в моем манифесте так:

<receiver android:name=".BootupReceiver">
        <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
        <category android:name="android.intent.category.HOME" />
        </intent-filter>
</receiver>

, который запускается при загрузке, требуя разрешения android.permission.RECEIVE_BOOT_COMPLETED

Ссылку на мой вопрос можно найти здесь

PS Добро пожаловать в stackoverflow

...