2017-02-11 32 views
0

我有這個自定義的類,我可以直接使用並可以使用。我能夠把這個類作爲一個額外的用途,並使用警報管理器設置它何時回到我的onReceive類。這適用於api級別23.如何在android api level 24+上將自定義的parcelable對象分享到AlarmManager接收器中?

我已經嘗試在具有Android 7.0(api級別24)的電話上運行我的代碼,並且意圖的演員將爲空。我讀到這在android api level 24+中不再可能,除了原始類型之外,沒有自定義的可添加類可以作爲額外添加。我的問題是如何解決這些問題?我需要從parcelable類傳遞很多屬性,並且逐個添加不同類型的數據似乎對我來說不合理。

回答

1

我看,這是不再可能在Android的API級別24+,並且,除了從原材料類型沒有自定義parcelable類可以作爲一個額外的

Correct。在您的流程之外傳遞自定義Parcelable是有風險的,就像另一個流程嘗試讀取它一樣,它沒有您的Parcelable類,因此它崩潰。

我的問題是如何解決這些問題?

一種解決方案是將您Parcelablebyte[]自己,把byte[]到額外的費用。然後,當您檢索它時,將該過程逆轉。其他進程不需要你的自定義類。 This Stack Overflow answer概述了該技術; this sample app演示它。

+0

感謝您的鏈接,我現在就試試! – Nick

+0

由於某種原因,第一個鏈接的答案不起作用(也許是我的錯誤實現),但第二個鏈接實際上幫了我很多。謝謝 ! – Nick

相關問題