Интегрировать BackgroundService в мое приложение? - PullRequest
0 голосов
/ 21 декабря 2011

Я работаю над одним приложением, например, с помощью AlarmManager поднимаю намерения по электронной почте.В этом приложении Email намерен поднять со временем на отлично.Если мы установим один раз для повышения намерения электронной почты, это будет работать.

Если мы перезапустим устройство, прежде чем наступит время события.Тогда приложение должно работать.Но это не работает.

Чего не хватает?Что им нужно поднять это после перезагрузки устройства?

Ответы [ 2 ]

2 голосов
/ 21 декабря 2011

Думаю, вам следует SharedPreferences, чтобы сохранить свое состояние. Посмотрите на следующий код и выполните поиск относительно SharedPreferences. его легко реализовать.

private TimePickerDialog.OnTimeSetListener mSettingsTimePickerListener = new TimePickerDialog.OnTimeSetListener() {
    @Override
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        sharedHour = hourOfDay;
        sharedMinute = minute;

        previousSharedHour = hourOfDay;
        previousSharedMinute = minute;

        try {
            final Calendar c = Calendar.getInstance();
            c.add(Calendar.HOUR_OF_DAY, hourOfDay);
            c.add(Calendar.MINUTE, minute);
            objDate = c.getTime();

            SharedPreferences alarmSettings = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
            SharedPreferences.Editor prefEditor = alarmSettings.edit();

            prefEditor.remove(PREFS_NAME);
            prefEditor.commit();

            alarmSettings = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
            prefEditor = alarmSettings.edit();

            System.out.println("In seting dialog :   "+hourOfDay +" : "+minute);
            prefEditor.putInt("sharedHour", hourOfDay);
            prefEditor.putInt("sharedMinute", minute);
            prefEditor.commit();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
};
1 голос
/ 21 декабря 2011

Вам нужно использовать BroadcastReceiver с действием <action android:name="android.intent.action.BOOT_COMPLETED" /> в файле манифеста. Тогда вам нужно запустить сервис с него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...