Android7.0出來時間已經不短了,最近公司同事的華為P9手機(7.0系統)反饋了個問題,說是收到消息狀態欄沒有通知。
借了他的手機試了下,調試了之后發下是Notification build的時候報錯了:
java.lang.SecurityException: You need MANAGE_USERS permission to: check if specified user a managed PRofile outside your profile group
7.0以下的手機是沒問題的,根據異常信息搜索了半天也沒有解決方法,后然實在不行就新建了demo app嘗試了下,最簡單的發送通知功能,是OK的,這時我就知道
我又一次被這大而雜的項目給坑了,因為意識到這個已經從早上到下午查了快1天了!
劇透下,其實直到寫此博文的時候還未找到問題發生的根本原因,在這里只描述下我這邊為啥會發生這個異常的原因:
項目里面在子線程接收消息,然后構建notification的Context用的是application的單列對象(static的,看客請勿吐槽 ,歷史問題),就是因為這個Application不知道做了啥(有5個父類),導致拋出上述異常,如果改用Activity的Context就不會出錯了,由于bug還有很多,就不去深究原因了,在此記錄,希望有人知道了告訴下。
新聞熱點
疑難解答