0

ホームボタンを押してアプリケーションをバックグラウンドにプッシュし、後で再開すると、アプリのUI要素にフォーカスがない場合があります。画面全体がグレー表示され(明るさが低下)、画面上のボタンはどれもクリックできません。さらに、音量、電源、ホーム以外のハードウェアボタンが機能しません。唯一の解決策は、アプリを強制的に停止して再起動することです。この問題は再現性がなく、まれにしか発生しません。他の誰かが彼らのアプリケーションでこの問題を見たことがありますか?

編集 ::::::::::

私は本当の問題を見つけました。これはより再現性があります。Webサービスにアクセスしてデータをダウンロードし、AsyncTAsk,を表示しProgressDialogます。ダイアログが表示されているときに、ユーザーがホームボタンを押すと、アプリはバックグラウンドに送信されます。その間に、ダウンロードが完了し、ダイアログが閉じられます。これで、ユーザーがアプリケーションに戻ったときに、activityフォーカスが返されなくなります。つまり、タッチイベントは受信されなくなります

ここに非同期タスクのコードを追加しました:

class GetStoresTask extends AsyncTask<String, Void, List<String>> {
    ProgressDialog pd;

    protected void onPreExecute() {
        super.onPreExecute();
        pd = ProgressDialog.show(DisplayStoresActivity.this,
                getResources().getString(R.string.pleaseWait),
                getResources().getString(R.string.dialogFindingStores),
                true, true);
        pd.setOnCancelListener(new OnCancelListener() {

            public void onCancel(DialogInterface dialog) {
                // TODO Auto-generated method stub
                GetStoresTask.this.cancel(true);
            }
        });
    }

    protected List<Message> doInBackground(String... params) {
        // carried out my download here
                          return downloadStoresList();
    }

    protected void onPostExecute(List<String> result) {
        // TODO Auto-generated method stub
        pd.dismiss();
                          adapter.notifyDataSetChanged();
        super.onPostExecute(storesList);
    }

アプリがバックグラウンドにあり、ダイアログが閉じられている場合、フォーカスがダイアログに転送されないようActivityです。誰かが同様の問題に直面したことがありますか、またはこれに対する解決策がありますか?

4

1 に答える 1