我正在使用Estimote的信标。 Evothings的cordova / phonegap插件很棒!
目前,如果应用程序处于后台,我会尝试监控这些区域。这种方法效果很好,而应用程序只打开一次,之后就不会被杀死。
目前,当设备准备就绪时,我会调用“startMonitoring”功能。我也尝试在初始化过程之外编写函数,但它根本不起作用。
所以我正在寻找一个解决方案,即使应用程序被杀死也会向进入我某个地区的用户发送通知。
目前我正在Android设备上进行测试。我想为Android和iOS构建应用程序。
这是我的代码:
var app = (function()
{
// Application object.
var app = {};
// Dictionary of beacons.
var beacons = {};
app.initialize = function()
{
document.addEventListener('deviceready', onDeviceReady, false);
};
function onDeviceReady()
{
// Start tracking beacons in background
startMonitoring();
}
function startMonitoring(){
var myregion =
{
identifier: 'MyRegion',
uuid: 'XXXXXXXX-XXXX-XXXX-XXXX-XXXX5772XXXX',
major : '12345',
minor : '12346'
};
estimote.beacons.startMonitoringForRegion(
myregion,
function(state) {
console.log('Region state: ' + JSON.stringify(state));
$('#devRegion').html(state.state + ' ' + state.identifier);
},
function(errorMessage) {
console.log('Monitoring error: ' + errorMessage);
}
);
}
return app;
})();
app.initialize();
是否有使用cordova / phonegap运行后台服务的功能?
谢谢!
答案 0 :(得分:0)
您可以使用以下Cordova / PhoneGap插件在Android和iOS上获取背景通知:
https://github.com/katzer/cordova-plugin-local-notifications
但是,如果您使用Cordova 5构建,请注意此插件尚不支持Cordova 5。
这是一个支持Cordova 5的插件的修补(但更旧)版本(注意分支是evothings-master):
https://github.com/evothings/cordova-plugin-local-notifications/tree/evothings-master
要添加此插件,请使用以下命令:
cordova plugin add https://github.com/evothings/cordova-plugin-local-notifications#evothings-master
这是一个可能有帮助的教程,它使用通用的iBeacon插件,但也应该与使用Estimote插件的应用程序相关:
https://evothings.com/hands-on-guide-to-building-a-native-javascript-ibeacon-app-using-cordova/
希望这有帮助!