我在我的Android應用程序中有一個自定義內容提供程序,運行良好。我希望其他應用程序也可以訪問我的內容提供商。我希望有一些乾淨的方式來溝通異常和錯誤,但據我所知,Android內容提供者框架並沒有提供任何方式來跨進程傳播異常。在Android自定義內容提供商中處理(跨進程)異常
我應該如何向呼叫者指出異常狀態?我必須以某種方式將其編碼到我的返回數據中,並依靠客戶端進行檢查嗎?有其他選擇嗎?如果編碼到普通的返回數據中,最好的辦法是什麼? (我可以看到一些用於通過query
調用返回的Cursor
的替代品,但對於由insert
返回Uri
,或update
或delete
返回int
?)
當您嘗試在ContentProvider中引發某種'RuntimeException'時,發生了什麼? – CommonsWare 2012-08-15 21:13:32
當提供者拋出一個'RuntimeException'時,使用'ContentProviderClient','query'和'insert'都返回'null'。在logcat中,我可以看到一個標籤爲'JavaBinder'的消息:'***未被捕獲的遠程異常! (過程中還不支持異常。)' – 2012-08-17 15:50:07