2012-07-04 4 views
0

잠시 동안 전화가 잠긴 다음 잠금 해제 된 후에 이미 닫힌 대화 상자가 다시 표시되는 것을 몇 번 관찰했습니다. 이것은 때때로 발생합니다. 항상 그렇지는 않습니다. 내가 사용해제 된 대화 상자가 화면 잠금 해제 후 다시 표시됩니다.

코드는 매우 정직 :

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); 
    } 
} 

지금, 무슨 일 것입니다 : 대화 상자 쇼는, 데이터가로드되는 및 다이얼로그가 삭제됩니다. 지금까지는 그렇게 좋았습니다. 전화가 잠긴 후에 대화 상자가 다시 나타나고 다시 잠금 해제됩니다.

그 이유는 무엇일까요?

덕분에
사이먼

답변

0

100 % 확신 할 수는 없지만 디버깅과 관련이 있다고 생각합니다. 프로덕션을 위해 컴파일 된 앱은 절대로 나에게 도움이되지 않습니다.

0

나는 당신이 onResume() 콜백에 showDialog(DIALOG_LOADING);을 넣어 생각한다. 이것이 화면 잠금 해제 후 대화 상자가 onResume()으로 표시되는 가장 큰 이유입니다.

+0

아니요, onCreate()에 있습니다 ... – SimonSays

+0

그럼 일부 제조업체가 동작을 변경할 수 있으므로 화면을 잠금 해제 한 후에 무엇이 호출되는지 확신 할 수 없습니다. 'showDialog()'전에 디버그 코드를 추가하여 화면 잠금 해제 후 호출되는지 확인할 수 있습니다. –

관련 문제