2017-08-08 12 views
0

在去年我買了4個不同的Android手機,他們都在日曆通知失敗。有時會顯示一個事件的通知,有時根本沒有顯示。我調查了很多並在「日曆存儲」應用程序中發現了一個問題,即應用程序框架層中的內容提供者。通知停止始終顯示在6.0.1版本中。這就是爲什麼我想開發自己的日曆應用程序而不是基於日曆提供程序的原因,以便我可以再次獲得可靠的通知。如何在開發Android棉花糖或鞋面應用程序時設置可靠的警報?

過去,當我們開發基於提醒的應用程序時,我們使用AlarmManager類和方法setExact()來使應用程序能夠在給定日期和時間顯示通知或其他任何內容。但在棉花糖和上層,它不能工作,因爲惱人的打盹模式。

他們發明了棉花糖的方法setExactAndAllowWhileIdle()據說設置可以繞過打盹模式的警報。但它表示,它不會讓你在15分鐘內發出多個警報。在基於提醒的應用程序中,這是一種愚蠢的行爲,因爲用戶必須能夠根據自己的需要放置儘可能多的提醒,並且儘可能按照他的要求儘可能接近時間線。

所以我的問題是,我怎樣才能使我的應用程序在給定的時間以總是有效的方式顯示提醒通知,而不管打盹模式如何,以便我可以收到儘可能多的通知我想要什麼時間?

謝謝。

回答

0

總是有白色的列表你的應用程序的選項,所以打盹仍然會讓它運行舊的方式。

使其工作的另一種官方方式是發送fcm通知,但您需要一臺服務器來完成這項工作。

由於恐怕下一個官方答案涉及確切的警報。

如果這是您的選擇,您有機會用STICKY開始服務。即使服務線程永遠被阻塞,我也希望電話永遠不會進入休眠狀態(這可能有助於將其分配給清單中的不同進程,以便您的用戶界面永不凍結)。將定期的舊式Java定時器在正確的時間發起回調可能會完成你所需要的。

+0

我調查了一下,發現雖然應用程序是白色的,但它仍然被瞌睡打亂,有時候,這個選項不應該是有效的。此外,GCM不適合,這是谷歌發明的唯一目的是將我們的錢帶走。真的,提醒應用程序永遠不應該使用遠程服務器,除非它具有任何同步功能。我的不是。有沒有其他方法?什麼是確切的警報? – user3289695

+0

這就是你已經在做的事情。有一些有趣的曲折雖然:https://stackoverflow.com/q/38094420/2754856 – Fabio

相關問題