#android #webview
#Android #webview
Вопрос:
Я хочу добиться этой функции:
Существует фоновая служба:
1) Когда сеть отключена, фоновые службы продолжают обнаруживать, если возобновление работы сети, обновление WebView, восстановление отображения.
2) Когда сеть в порядке, фоновые службы будут продолжать обнаруживать, если фоновому серверу присвоен новый URL-адрес, затем обновите текущую страницу.
Ответ №1:
Вы можете использовать широковещательный приемник вместе с AlarmManager и PendingIntent. Установите повторение сигнала тревоги на желаемую продолжительность и запустите ожидающее намерение на эту продолжительность.
public void scheduleAlarmForURLAutoUpdate() {
Long time = new GregorianCalendar().getTimeInMillis() 1000 * 60 * 60 * 24;// current time 24 Hrs
Intent intent = new Intent(this, AlarmReceiver.class);
PendingIntent intentAlarm = PendingIntent.getBroadcast(this, 0, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, time, 1000 * 60 * 60 * 24, intentAlarm);// 24 Hrs
//Toast.makeText(this, "Alarm Scheduled for 24 Hrs", Toast.LENGTH_LONG).show();
}
Класс AlarmReceiver
public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
updateURL(context);//Method to update the URL from the server and then refresh your WebView activity
}
Комментарии:
1. Я очень благодарен за ваш ответ. Но я все еще не могу решить этот вопрос. Если я получу новый URL-адрес с сервера, как я могу обновить свой WebView? Какой метод я мог бы использовать? Спасибо.
Ответ №2:
общедоступный класс AlarmReceiver расширяет BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent)
{
Intent i = new Intent(context, AutoUpdateService.class);
context.startService(i);
}
}