Sto usando Cordova/Phonegap iBeacon plugin con ionicframework nel mio progetto cordova. Sto tentando di inviare una notifica locale sia su android che su ios con cordova local notification plugin mentre entri nell'area monitorata, quando l'app viene uccisa.Cordova ibeacon; Invia notifica locale dopo l'uccisione dell'app, ma non funziona su Android
Ecco il mio codice:
document.addEventListener("deviceready", onDeviceReady, false);
function didDetermineStateForRegion(pluginResult) {
}
function didStartMonitoringForRegion (pluginResult) {
}
function didExitRegion(pluginResult) {
$cordovaLocalNotification.add({
id: 30244234234,
title: "Good By!",
text: "Hope to see you again."
}).then(function() {
});
}
function didEnterRegion (pluginResult) {
$cordovaLocalNotification.add({
title: "Welcome",
text: "Tap to launch app"
}).then(function() {
});
};
function didRangeBeaconsInRegion (pluginResult) {
}
function onDeviceReady() {
// Now safe to use device APIs
function createBeacon(uuid,nofiyState) {
var uuid = uuid; // mandatory
var identifier = 'estimote'; // mandatory
// throws an error if the parameters are not valid
var beaconRegion = new cordova.plugins.locationManager.BeaconRegion(identifier, uuid);
beaconRegion.notifyEntryStateOnDisplay = true;
return beaconRegion;
}
var delegate = new cordova.plugins.locationManager.Delegate();
delegate.didDetermineStateForRegion = didDetermineStateForRegion;
delegate.didStartMonitoringForRegion = didStartMonitoringForRegion;
delegate.didRangeBeaconsInRegion = didRangeBeaconsInRegion;
delegate.didEnterRegion = didEnterRegion;
delegate.didExitRegion = didExitRegion;
var beaconRegion = createBeacon('02681445-8D1B-4F58-99D4-B25F4B129A58',true);
// var beaconRegionBlue = createBeacon('02681445-8D1B-4F58-99D4-B25F4B129A58',1,,true);
cordova.plugins.locationManager.setDelegate(delegate);
// required in iOS 8+
//cordova.plugins.locationManager.requestWhenInUseAuthorization();
cordova.plugins.locationManager.requestAlwaysAuthorization();
cordova.plugins.locationManager.startMonitoringForRegion(beaconRegion)
.fail(console.error)
.done();
}
plugin Cordova: versione
com.unarin.cordova.beacon 3.3.0 "Proximity Beacon Plugin"
de.appplant.cordova.plugin.local-notification 0.8.1 "LocalNotification"
nl.x-services.plugins.socialsharing 4.3.16 "SocialSharing"
org.apache.cordova.console 0.2.13 "Console"
org.apache.cordova.device 0.3.0 "Device"
Cordova: 4.3.0
questo funziona bene per iOS, anche se l'applicazione viene ucciso, ma su Android le notifiche vengono visualizzate solo se l'app è in background. Quando uccido l'app da Task Manager su Android non ho mai visto nessuna notifica locale.
E 'possibile ricevere notifiche su Android anche se l'app viene uccisa?
grazie per l'aiuto.
Se si interrompe l'app tramite Impostazioni-> App-> MyApp-> Force Stop, l'app e tutti i processi vengono interrotti anche se si ascolta lo sfondo. Altrimenti è necessario il servizio in background in Android per ottenere il messaggio/notifica locale. –
Non penso che tu possa ricevere le notifiche dopo aver ucciso l'app tramite il task manager. Ho un'applicazione simile usando framework ionico e cordova, Per ottenere notifiche dall'app anche quando è in esecuzione sullo sfondo, sto usando un plug-in modalità background cordova su https://github.com/katzer/cordova-plugin-background -modalità .Ti permetterà di eseguire la tua logica anche quando l'app non è in esecuzione attivamente in primo piano. – nthapa13
@MorrisonChang Non impongo mai all'app di fermarsi come hai detto tu; lo interrompo premendo a lungo il tasto home, cioè intendo il task manager. – semirturgay