網站首頁 編程語言 正文
ionic菜鳥一枚,很多東西都考慢慢摸索,極光推送是國內幾家推送平臺上集成第三方插件做的不錯的。兩年之前做Android開發的時候用過百度云推送,推送速度感覺沒有現在極光快。官方社區提問基本都有官方技術人員回復,這點很好。因為互聯網上參考資料實在不多,很多帖子不能解決到我的問題,也有可能是我太菜了,人家的思路沒有啟發到我吧。廢話不多說了,跟新司機上車!
獲取點擊通知內容
event - jpush.openNotification
點擊通知進入應用程序時會出發改事件。
代碼示例
在你需要接收通知的的 js 文件中加入:
PS:我在這里是寫入app.js文件的run方法里面$ionicPlatform.ready(function(){}的外面
document.addEventListener("jpush.openNotification", onOpenNotification, false);
onOpenNotification 需要這樣寫:
var alertContent;
if(device.platform == "Android") {
alertContent = event.alert;
} else {
alertContent = event.aps.alert;
}
alert("open Notificaiton:" + alertContent);
然后我得到下面的代碼!
效果是點擊推送沒有任何反應,既不跳轉到指定頁面(跳轉到了默認的首頁)也不alert出信息。看來是根本沒有進入事件監聽里面。我當時想來想去也問了朋友也不知道是為啥。無奈只有去社區提問了。
后來改成這樣:
//點擊推送跳轉到相應頁面
document.addEventListener("jpush.openNotification", function(){
// var alertContent;
if(device.platform == "Android") {
//alertContent = event.alert;
$state.go("myOrderList");
} else {
// alertContent = event.aps.alert;
}
//alert("open Notificaiton:" + alertContent);
}, false);
就可以了或者
再或者:
都是可以的。
原因是:我最之前那個錯誤寫法里面再監聽事件里面調用了onOpenNotification,而這個函數還沒有被加載到,所以報錯了也造成了啟動白屏。
好弱智的錯誤!
加上一個登錄判斷,登錄狀態則直接跳轉到指定頁面否則跳轉到登錄界面!
/*
需要登錄才能顯示的頁面在加載前做登錄判斷,如果沒有登錄跳轉到登錄頁面
*/
var needLoginView = ["myOrderList"];//需要登錄的頁面state
$rootScope.$on('$stateChangeStart',function(event, toState, toParams, fromState, fromParams, options){
if(needLoginView.indexOf(toState.name)>=0&&!$rootScope.isLogin){//判斷當前是否登錄
$state.go("login");//跳轉到登錄頁
event.preventDefault(); //阻止默認事件,即原本頁面的加載
}
})
可以在var needLoginView = [“myOrderList”]的中括號里面加入所有需要判斷登錄狀態額頁面名稱。
原文鏈接:https://blog.csdn.net/u011186751/article/details/52808077
- 上一篇:ionic錨點操作
- 下一篇:ionic4 ngFor中使用ngIf
相關推薦
- 2022-05-22 python中的sys模塊和os模塊_python
- 2022-07-18 SpringMVC文件上傳功能實現
- 2023-01-20 gazebo里通過節點發布topic讓關節轉動實現詳解_C 語言
- 2022-04-02 C語言實現二叉樹層次遍歷介紹_C 語言
- 2023-04-19 Invalid prop: custom validator check failed for pr
- 2022-01-16 對象的綁定、滾輪滾動事件及鍵盤事件
- 2022-08-19 C#對桌面應用程序自定義鼠標光標_C#教程
- 2022-05-25 Python中PyAutoGUI幫助文檔(推薦!)_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支