我觀察過幾次,在電話被鎖定一段時間後再次解鎖對話框再次出現,然後解鎖。這種情況偶爾發生,並非總是如此。解鎖後的對話框在屏幕解鎖後再次出現
,我使用的代碼是非常簡單的:
showDialog(DIALOG_LOADING);
new AsyncTask<Void, Void, PhotoList>(){
@Override
protected PhotoList doInBackground(Void... params) {
// load and return data
}
protected void onPostExecute(PhotoList result) {
dismissDialog(DIALOG_LOADING);
// display data
}
}.execute();
....
@Override
protected Dialog onCreateDialog(int id) {
Log.d(TAG, "onCreateDialog");
switch(id){
case DIALOG_LOADING:
return ProgressDialog.show(this, null, "Loading. Please wait...", true);
default:
return super.onCreateDialog(id);
}
}
現在,發生的事情是:在對話框中顯示,數據被加載並在對話框被駁回。到目前爲止這麼好,只是在電話被鎖定一段時間後對話框再次出現,我再次解鎖。
任何想法爲什麼會發生?
感謝
西蒙
不,它在onCreate(),它屬於... – SimonSays
然後我不能確定屏幕解鎖後會調用什麼,因爲某些製造商可能會改變行爲。您可以嘗試在showDialog()之前添加調試代碼,以查看是否在屏幕解鎖後調用它。 –