我目前正在尝试为Android和iOS构建应用程序,该应用程序应该能够向用户发送本地通知。
我已设法在Android上发送本地通知,但我无法让它在iOS上运行。
当我在iOS 9上启动应用程序时,iPhone会显示一个提示,要求我允许应用程序发送通知。允许应用发送通知后,仍然没有通知。
在Android上:启动应用 - > 通知文字“确定”
在iOS 9上:启动应用 - >允许发送通知 - > 无通知
我还尝试在应用中添加一个触发...
<plugin name="cordova-plugin-local-notifications-mm"/>
...
的按钮,但这不起作用。
我甚至创建了新的Apple证书和配置文件。
我正在使用此插件:https://github.com/katzer/cordova-plugin-local-notifications
并尝试了这个:https://build.phonegap.com/plugins/4859
我正在使用PhoneGap Build服务构建应用程序。
有没有人知道为什么它可以在Android上运行而不在iOS上运行?
我的代码:
config.xml中:
<script src="cordova.js"></script>
<script src="local-notification.js"></script>
<script src="js/index.js"></script>
<script src="js/notify.js"></script>
的index.html:
var app = {
initialize: function () {
this.bindEvents();
},
bindEvents: function () {
document.addEventListener('deviceready', this.onDeviceReady, false);
},
onDeviceReady: function () {
Notifier.registerPermission();
}
};
app.initialize();
index.js:
var Notifier = {
registerPermission: function () {
window.plugin.notification.local.registerPermission(function (granted) {
Notifier.notify('OK');
});
},
notify: function (message) {
var now = new Date();
window.plugin.notification.local.add({
id: parseInt(new Date().getTime()),
message: message,
date: now
});
}
};
notify.js:
@MappedSuperclass
public abstract class AbstractParent {
List<CommonObject> commonObjects;
public abstract List<CommonObject> getCommonObjects();
}
@Entity
@Table
public class Child1 extends AbstractParent {
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
@JoinColumn(name="child1_id", nullable = false)
@OrderColumn(name = "sort_index")
public List<CommonObject> getCommonObject() {
return this.commonObjects;
}
}
@Entity
@Table
public class Child2 extends AbstractParent {
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
@JoinColumn(name="child2_id", nullable = false)
@OrderColumn(name = "sort_index")
public List<CommonObject> getCommonObject() {
return this.commonObjects;
}
}
答案 0 :(得分:0)
刚刚完成一个ibeacon应用程序,即使在应用程序关闭或手机重新启动时也能通知ios和android。
请务必添加:
cordova.plugins.locationManager.requestAlwaysAuthorization();
这就是为我做的事情。