Я работаю в поставщике уведомлений для моего приложения Android с WebView, который использует JavaScriptInterface для получения информации из удаленного файла Javascript, который, в соответствии с полученной информацией с сервера, запускает мое приложение для отправки уведомления в виде головы.
Итак, я добавил интерфейс JavaScript в onCreate void:
OnomeWebContainer.addJavascriptInterface(new WebAppInterface(this), "Android");
и создал класс WebAppInterface
// Interfacing with Javascript Code
public class WebAppInterface {
Context mContext;
WebAppInterface(Context c) {
mContext = c;
}
@JavascriptInterface
public void showTempHumUnavailableNotification(String toast) {
OnomeTempHumUnavailableNotification();
}
@JavascriptInterface
public void showSecurDudeAlertNotification(String toast) {
OnomeSecurDudeAlertNotification();
}
}
Файл JavaScript вызывает уведомление, когдаопределенный файл недоступен на удаленном сервере.
function showDHT11Alert() {
$.ajax({
url: 'http://serveraddress/OnomeWeb/resources/data/tmp/onomeDHT11On',
success: function () {
$('#onomenotif_DHT11Unavailable').hide();
},
error: function () {
$('#onomenotif_DHT11Unavailable').show();
showDHT11Toast();
},
});
}
function showDHT11Toast(toast) {
Android.showTempHumUnavailableNotification(toast);
}
Поставщик уведомлений работает безупречно, даже если приложение работает в фоновом режиме, но, очевидно, если я закрываю приложение с экрана недавних приложений, поставщик уведомленийперестает работатьТеперь я хотел бы, чтобы этот интерфейс JavaScript работал в фоновом режиме, даже если приложение закрыто из последних приложений.
Фоновый сервис должен быть лучшим решением моей проблемы, но как я могу взаимодействовать?это с основным WebView?Это возможно?