Я пишу небольшое приложение для Android, которое делает что-то в фоновом режиме (например, сервис), и я хочу, чтобы он отображал тосты после интервала каждые минуты. Как мне это сделать с помощью широковещательного прослушивателя и будильника. Может кто-нибудь, пожалуйста, напишите пример кода, чтобы продемонстрировать его.Фоновая служба для отображения тостов каждые 2 минуты в android
1
A
ответ
0
Вы можете легко сделать это, используя Timer
и TimerTask
в вашем классе Service
.
1. В вашем Service
классе, сначала создать внутренний класс DisplayToastTimerTask
, простирающийся от TimerTask
для отображения Toast
сообщения. Вы должны использовать Handler
с Runnable
, чтобы показать Toast
от TimerTask
:
private class DisplayToastTimerTask extends TimerTask {
Handler mHandler = new Handler();
@Override
public void run() {
// Do something....
mHandler.post(new Runnable() {
@Override
public void run() {
Toast.makeText(getApplicationContext(),
"Hello world", Toast.LENGTH_SHORT).show();
}
});
}
}
2. Используйте Timer
планировать DisplayToastTimerTask
для повторного выполнения с интервалом 2 min
private static final int TIMER_INTERVAL = 120000; // 2 Minute
private static final int TIMER_DELAY = 0;
// Create new Timer
Timer mTimer = new Timer();
mTimer.scheduleAtFixedRate(new DisplayToastTimerTask(), TIMER_DELAY, TIMER_INTERVAL);
ПРИМЕР:
#. Вот полностью рабочий Service
класс: **
//MyService.java
import android.app.Service;
import android.content.Intent;
import android.os.Handler;
import android.os.IBinder;
import android.support.annotation.Nullable;
import android.widget.Toast;
import java.util.Timer;
import java.util.TimerTask;
public class MyService extends Service {
private Timer mTimer;
private Handler mHandler = new Handler();
private static final int TIMER_INTERVAL = 120000; // 2 Minute
private static final int TIMER_DELAY = 0;
@Override
public void onCreate() {
super.onCreate();
if (mTimer != null)
mTimer = null;
// Create new Timer
mTimer = new Timer();
// Required to Schedule DisplayToastTimerTask for repeated execution with an interval of `2 min`
mTimer.scheduleAtFixedRate(new DisplayToastTimerTask(), TIMER_DELAY, TIMER_INTERVAL);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return Service.START_STICKY;
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onDestroy() {
super.onDestroy();
// Cancel timer
mTimer.cancel();
}
// Required to do some task
// Here I just display a toast message "Hello world"
private class DisplayToastTimerTask extends TimerTask {
@Override
public void run() {
// Do something....
mHandler.post(new Runnable() {
@Override
public void run() {
Toast.makeText(getApplicationContext(), "Hello world", Toast.LENGTH_SHORT).show();
}
});
}
}
}
#. Вы можете начать свой service
, как показано ниже:
Intent intentMyService = new Intent(context, MyService.class);
mContext.startService(intentMyService);
#. Не забудьте объявить MyService
класс в AndroidManifest.xml
:
<?xml version="1.0" encoding="utf-8"?>
<manifest>
<application>
<service android:name=".MyService" />
</application>
</manifest>
Надеется, что это поможет ~
Смежные вопросы
- 1. Фоновая служба для android (Xamarin)
- 2. Фоновая служба NativeScript для Android
- 3. Фоновая служба Android
- 4. Обновление сеанса каждые 2 минуты
- 5. Использование сервиса для отображения тостов
- 6. Фоновая служба для сенсора в android
- 7. Фоновая служба Android и процесс
- 8. Как обновить страницу html каждые 2 минуты?
- 9. Android: 2 тостов же время
- 10. Фоновая служба Android и Thread
- 11. Фоновая служба Android Сканирование Bluetooth
- 12. Android, Фоновая служба не запускается
- 13. сигнализации Планирование каждые 2 минуты андроид
- 14. Получение данных за каждые 2 минуты
- 15. Множество тостов для Android
- 16. Reload Активность через каждые 2 минуты
- 17. Как перезагрузить UITablViewCell каждые 2 минуты?
- 18. Событие триггера каждые 2 минуты при наборе
- 19. как вызвать функцию каждые 2 минуты
- 20. Получить текущую позицию мобильного телефона каждые 2 минуты android
- 21. Получение данных Каждые 2 минуты SQL Lite
- 22. Android Фоновая служба Управление пользовательским интерфейсом
- 23. Как показывать содержимое div каждые 2 минуты?
- 24. Как получить данные из БД в андроиде каждые 2 минуты?
- 25. фоновая служба для голосовой команды
- 26. Android Фоновая служба, которая работает навсегда
- 27. Фоновая служба Android, автоматически заполняет данные
- 28. Проблемы с Android - Фоновая служба не останавливается
- 29. Фоновая служба Android перезагружается, когда приложение убито
- 30. Фоновая служба Android с React Native
Вы должны рассмотреть отображение Notification вместо тоста. –
Я могу показать, как вы можете это сделать. сначала на прослушивателе загрузки запустите выполнение своего фона и установите будильник через 10 минут. реализовать прослушиватель сигналов тревоги, в котором введена логика уведомления и в конце класса снова установлен будильник. thats it – rajpara
у вас есть образец кода для этой причины. Я пытаюсь сделать что-то подобное. благодаря! – ghostrider