2
我試圖在permisison更改期間讓我的頭繞着應用程序及其組件生命週期。Android活動和片段生命週期在M中被撤銷權限後
考慮:
targetSdk = 23
compileSdk = 23
假設我有顯示我的應用程序打開一個片段,並得到了設置和撤銷許可。
我的理解是重啓進程,但是沒有一個片段生命週期方法被調用(onCreateView等),這導致我的測試工具應用程序在返回到應用程序時運行崩潰。
我接觸的片段的按鈕,從撤銷許可,回國後:
'android.os.IBinder android.widget.EditText.getWindowToken()' on a null object reference
此代碼是用於隱藏屏幕鍵盤,如果它顯示,如果需要,我可以刪除它,但問題這裏是爲什麼如果重新啓動進程,是不是重新創建片段?
編輯:做了更多的日誌記錄。所以它看起來像片段/活動正在調用生命週期方法,但似乎重新初始化並不完全。
應該有被終止的過程沒有什麼區別,由於權限撤銷和被終止的任何其他原因,你的過程。 – CommonsWare
聽起來像你在這裏做了其他錯誤。 – Kitesurfer
您提到這是在測試過程中。你的測試是否參考了「活動」?潛在地,你的測試可能會被一個已經被破壞並且沒有窗口的活動所控制。在這種情況下,您的測試工具應該獲得對新創建活動的引用。 – Budius