android - Activity destroyed after calling Camera Intent

碰到一個奇怪的問題, app在其他的系統(tǒng)上都沒問題,唯獨在5.0的機器上,一拍照就崩潰:
用Bugly捕獲的錯誤信息是這樣的:

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.net.Uri.toString()' on a null object reference

這里是因為在 onActivityResult的回調(diào)里使用了拍照之前設(shè)置的Uri變量導(dǎo)致的。
同時,注意到的還有用戶的訪問路徑是這樣的:

52017-11-06 16:40:35 com.maowujian.sale.activities.SaleActivity onCreated
62017-11-06 16:40:35 com.maowujian.sale.activities.SaleActivity onResumed
72017-11-06 16:40:39 com.maowujian.sale.activities.SaleActivity onPaused
82017-11-06 16:41:06 com.maowujian.sale.activities.SaleActivity onDestroyed
92017-11-06 16:41:06 com.maowujian.sale.activities.SaleActivity onCreated

很明顯,這里拍照之后Activity似乎自動restart了。

這里找到兩處比較靠譜的解釋:
Android: Activity getting Destroyed after calling Camera Intent
【Android進階】android:configChanges屬性總結(jié)

大體意思是橫豎屏切換和屏幕尺寸變化會重新調(diào)用Activity的所有生命周期方法,解決方法是在AndroidManifest.xml中對應(yīng)的Activity上設(shè)置

android:configChanges="orientation|screenSize"

等屬性。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容