.run(function($ionicPlatform, $ionicPopup, $ionicLoading, $timeout, $ionicHistory, $ionicBackdrop, $state, services, loginService, $rootScope, $ionicViewSwitcher, $ionicNavBarDelegate, Push, services) {
$ionicPlatform.ready(function() {
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// for form inputs)
if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(true);
}
if (window.StatusBar) {
// org.apache.cordova.statusbar required
StatusBar.styleDefault();
}
document.addEventListener("deviceready", onDeviceReady, false);
// push notification callback
var notificationCallback = function(data) {
console.log('jpush---notificationCallback--received data :' + data);
// var notification = angular.fromJson(data);
// //app 是否处于正在运行状态
// var isActive = notification.notification;
// console.log(notification);
// here add your code
// Push.setBadge(0);
//ios
// if (ionic.Platform.isIOS()) {
// window.alert(notification);
// } else {
// window.alert(notification);
// }
// /touguwenzhang/:xinWenId',
$state.go("chat", {
id: 58
});
};
//初始化
Push.init(notificationCallback);
//设置别名
// Push.setAlias("12345678");
});
----------------------------------------------------------
.factory('Push', function() {
var push;
return {
setBadge: function(badge) {
if (push) {
console.log('jpush: set badge', badge);
plugins.jPushPlugin.setBadge(badge);
}
},
setAlias: function(alias) {
if (push) {
console.log('jpush: set alias', alias);
plugins.jPushPlugin.setAlias(alias);
}
},
check: function() {
if (window.jpush && push) {
plugins.jPushPlugin.receiveNotificationIniOSCallback(window.jpush);
window.jpush = null;
}
},
init: function(notificationCallback) {
console.log('jpush: start init-----------------------');
push = window.plugins && window.plugins.jPushPlugin;
if (push) {
console.log('jpush: init');
plugins.jPushPlugin.init();
//第一次需要注册
// plugins.getRegistrationID(function(data) {
// console.log('jpush: init----data:', data);
// });
plugins.jPushPlugin.setDebugMode(true);
plugins.jPushPlugin.openNotificationInAndroidCallback = notificationCallback;
plugins.jPushPlugin.receiveMessageInAndroidCallback = notificationCallback;
}
}
};
});
参考api:http://blog.csdn.net/pdw2009/article/details/47807683