У меня проблема с фоновым сервисом nativescript.Я хочу написать приложение с фоновым сервисом.Служба должна всегда запускаться в фоновом режиме, даже когда приложение будет остановлено и закрыто.
Я использовал nativescript-android-utils для служб намерений Android, но служба перестает работать послеПриложение закрывается.Я также попытался зарегистрировать широковещательный приемник в соответствии с this , но результат тот же: когда приложение закрыто, служба также перестает работать.
Я хочу написать фоновую службу gps tracker, и этопочему мне нужно, чтобы служба всегда работала в фоновом режиме.
Сервисный код:
declare var com: any;
@JavaProxy("org.nativescript.PresleyApp.Test")
export class Test extends com.pip3r4o.android.app.IntentService {
protected onHandleIntent(intent: android.content.Intent): void {
geolocation.enableLocationRequest().then(function() {
this.watchId = geolocation.watchLocation(
(loc) => {
if (loc) {
const toast = Toast.makeText("Background Location: " + loc.latitude + " " + loc.longitude);
toast.show();
console.log("Background Location: " + loc.latitude + " " + loc.longitude);
}
},
(e) => {
console.log("Background watchLocation error: " + (e.message || e));
},
{
desiredAccuracy: Accuracy.high,
updateDistance: 0.1,
updateTime: 3000,
minimumUpdateTime: 100
});
}, (e) => {
console.log("Background enableLocationRequest error: " + (e.message || e));
});
}
}
Запуск службы с
const context = application.android.context;
const intent = new android.content.Intent();
intent.setClassName(context, "org.nativescript.PresleyApp.Test");
context.startService(intent);