問題描述:公司的app里面需要用小米push推送一條消息叹螟,并且點擊實現落地頁。但是潮模,自己測的時候沒問題(使用的是MIUI 9),用別人的手機就不能實現落地痴施。同時擎厢,打斷點也不能發(fā)現不能進入到小米提供的響應接口(后來發(fā)現,應該是我打包之后代碼混淆了辣吃,所以進不來动遭。。齿尽。)
解決方法:啟動的intent加上一個flag(FLAG_ACTIVITY_NEW_TASK)
原因:當一個notification啟動一個activity時傳入的Context并不是原先一個正常的ActivityContext沽损。因為在Activity Stack 中的每一個activity 之間相互啟動,它們都存在于一個共同的stack中循头。而小米的推送绵估,實際存在于一個PushService里,在service中傳入的Context并不在一個Activity Stack 中卡骂,所以国裳,使用這個context.stactActivity的時候就會出現問題,導致不能啟動Activity全跨。
解釋的可能不是很清楚缝左,因為我也是聽別人講解的,沒有查到相關的資料浓若。所以先記下結論渺杉,以后遇到再更新。