在監聽android短信資料庫變化時,由于只能注冊content://sms/ 的observer,所以,在資料庫每次狀態變化的時候,都會多次回呼
onChange 方式,目前還未找到很好的方式,解決回呼多次的問題,只能通過代碼邏輯來屏蔽這個問題,
目前,我使用的方式是通過時間來過濾兩次的回呼,
long lastTimeofCall = 0L;
long lastTimeofUpdate = 0L;
long threshold_time = 10000;
if (lastTimeofCall - lastTimeofUpdate < threshold_time) {
lastTimeofUpdate = System.currentTimeMillis();
return;
}
這種方式 確實能夠屏蔽資料庫兩次的狀態更新,
其實,還有另一種試,就是資料庫改變一次,做一個自己的業務操作,比如:插入或洗掉,再把這次操作的id快取 起來,下次再呼叫 時,從快取中
判斷是否已經做過相應的操作了,
以上的方式,能解決一些問題,但最重要的,還是要根據自己的業務來做,
如果大家都監聽短信有更好的方式,可以留言,歡迎 一起交流,
最后,說一下為何要用這種試監聽短信,因為,使用也可以廣播監聽短信,但大家也知道,目前,在中國很多所謂的安全軟體很流氓,它們也會通過
各種方式監聽短信廣播,而且,有時候,在它們監聽到廣播后,就把廣播取消了,造成其它軟體無法收到廣播,
歡迎和朋友們一起交流,!!!
————————————————
著作權宣告:本文為CSDN博主「hudan2714」的原創文章,遵循CC 4.0 BY-SA著作權協議,轉載請附上原文出處鏈接及本宣告,
原文鏈接:https://blog.csdn.net/hudan2714/article/details/8789775
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/544163.html
標籤:其他
下一篇:app實作外部瀏覽器打開鏈接
