我有一個市場上的應用程序(SIM鎖定通知程序),它依賴於接收廣播意圖* android.intent.action.SIM_STATE_CHANGED *時作出反應的廣播接收器。我開發了最新版本4.0的應用程序。 3(即SDK級別15),現在我想擴展它的兼容性到更低的級別(提供運行時檢查不可用的東西,如操作欄或偏好片段)...問題是,我想了解* SIM_STATE_CHANGED *事件也在老平臺上生成..這個意圖是沒有記錄的,甚至在SDK中的* platforms/android-15/data/broadcast_actions.txt *文件中都沒有發現。我是否應該深入瞭解源代碼它在哪裏實施,並降到哪個SDK級別?這是一個供應商特定的事件嗎?我有一個HTC One X在上面工作。從哪個SDK級別支持android.intent.action.SIM_STATE_CHANGED廣播意圖?
0
A
回答
0
我不確定你的第一個問題,但我可以幫你解答第二個問題。
,現在我想它的兼容性擴展至較低水平 (提供不可用的東西運行時檢查,如操作欄或 偏好片段)
反思會幫助你在這種情況下, 。 使用反射,你可以查詢類可用的方法,構造等
假設你想在使用PopupMenu的你application.And它可能是你的應用程序仍然 要預先4.0 devices.So使用反射運行情況
下面的代碼片段和谷歌搜索位將幫助你。
String sClassName = "android.widget.PopupMenu";
try {
Class classToInvestigate = Class.forName(sClassName);
Yes!!! Class is aviliable now do whatever you want to do with PopupMenu.
// Dynamically do stuff with this class
// List constructors, fields, methods, etc.
} catch (ClassNotFoundException e) {
// Class not found!
it means application is running on pre 4.0 version device.
} catch (Exception e) {
// Unknown exception
}
+0
我在* AndroidManifest.xml *文件中使用* android.intent.action.SIM_STATE_CHANGED *在我的廣播接收器的意圖過濾器中,所以我不能做一個運行時檢查..此外,沒有這個我的應用程序是沒有意義的廣播事件,所以我只想在可用的地方使用它。 –
相關問題
- 1. android.intent.action.SIM_STATE_CHANGED沒有廣播嗎?
- 2. 從意圖獲取多個廣播?
- 3. 所有Android廣播意圖在哪裏
- 4. Android意圖廣播
- 5. Autorotaion廣播意圖?
- 6. 帶有AIRPLANE_MODE的廣播接收器不支持SDK 26
- 7. 哪些Android SDK支持ticker?
- 8. Wear級別不支持API級別19?
- 9. 哪個XCode版本支持iOS 4.3.5 sdk
- 10. 從PreferenceScreen發送廣播意圖?
- 11. 如何從UIautomator廣播意圖
- 12. 何時廣播ACTION_DEVICE_STORAGE_LOW意圖?
- 13. ANR廣播的意圖
- 14. 廣播和意圖過濾
- 15. Android callscreen意圖/廣播?
- 16. 哪個版本的gcc支持-Ofast優化級別?
- 17. Android中支持庫使用哪個API級別?
- 18. SQLite的Monotouch支持級別
- 19. Node.js是否仍然支持UDP廣播?
- 20. iPhone支持小區廣播嗎?
- 21. 廣播不支持sql代理傳輸
- 22. Android CheckboxPreference不支持廣播接收器
- 23. Android支持庫如何在目標SDK級別上工作?
- 24. corona sdk不支持mp3播放?
- 25. Udp廣播vs單播:哪個更快?
- 26. 接收來自廣播接收器的廣播意圖錯誤
- 27. 類似於集結在地圖,支持numpy的廣播
- 28. Sencha Touch 2.0支持哪些最低的Android API級別?
- 29. 300級別的網絡廣播或說話是什麼意思(在MSDN,網絡廣播,trainig等)?
- 30. Java NIO是否支持廣播或多播?
我已經看到它被用於低至SDK版本4 – Pete
「這個意圖沒有記錄」 - 那麼你不應該使用它。無法保證它可以在所有過去的設備上運行,除非您計劃花費大量資金購買每個設備並手動進行測試。不能保證它能在任何未來的設備上工作。歡迎核心Android團隊和設備製造商擺脫它,重命名它,忽略它等。 – CommonsWare
我知道它..我的應用程序的開發開始作爲一個練習,我需要它,因爲可能在HOX的無線固件中出現問題。我發現了這個廣播事件,它在HOX上工作,現在我想將兼容性擴展到更低的SDK ..我不打算在大量的手機上進行測試。 –