Рекомендований метод запуску запланованої діяльності при запуску?

Я намагаюся зробити заплановану діяльність відключається кожну годину або близько того, всі працюють у фоновому режимі.

Зараз у мене є BroadcastReceiver, який забирає при завантаженні пристрою. BroadcastReceiver створює PendingIntent для активності (Called AlarmController), яка створює всі необхідні методи, які мені потрібні для виконання запланованої діяльності.

Як ніколи це, здається, не працює. Ось як мій клас BroadcastReciever onReceive {} має вигляд і , що є основним для моєї основної діяльності onCreate {} (лише для тестування)

    Intent intent = new Intent(serviceactivirt.this, AlarmController.class);
    PendingIntent sender = PendingIntent.getActivity(serviceactivirt.this, 0, intent, 0);
    try {
        sender.send();
    } catch (CanceledException e) {
        Toast.makeText(getApplicationContext(), "FEJLSAN", Toast.LENGTH_LONG).show();
    }

Це дійсно працює, за винятком того, що моє додаток зависає при запуску, але запланована діяльність працює ... Будь-які ідеї? Чи є це "спосіб зробити це" або є більш рекомендований спосіб? Привітання!

Рішення:

Замість того, щоб BroadcastReciever викликав Діяльність, я зробив BroadcastReciever, починаючи службу. І змінив свою діяльність на службу, програмно і в маніфесті. Працює відмінно!

0
чому відбувається збій діяльності?
додано Автор slayton, джерело

1 Відповіді

Я намагаюся здійснити заплановану діяльність кожну годину, і всі вони працюють у фоновому режимі.

Будь ласка, дозвольте користувачам налаштовувати інші параметри, наприклад, використовуючи Notification , замість того, щоб перериватися діями, які переходять на передній план.

Зараз у мене є BroadcastReceiver, який завантажує при завантаженні пристрою.

Вам потрібно лише встановити графік AlarmManager для ваших погодинних подій. Ваш PendingIntent для AlarmManager може бути таким, який ви отримуєте через getActivity() .

Однак це не працює.

Якщо ви хочете почати діяльність, зателефонуйте startActivity() . Не створюйте PendingIntent , а потім негайно send() PendingIntent .

Також видаліть getApplicationContext() і просто використовуйте this .

За винятком того, що моє додаток зависає при запуску

Використовуйте adb logcat , DDMS або перспективу DDMS в Eclipse, щоб вивчити LogCat і подивитися на трасування стека, пов'язану з аварією.

0
додано
android_jobs_ua
android_jobs_ua
120 учасників

Публикуем вакансии и запросы на поиск работы по направлению Android. Здесь всё: full-time, part-time, remote и разовые подработки.

Mobile Dev Jobs UA
Mobile Dev Jobs UA
20 учасників

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin, RN и т.д.