私のアプリでは、ギャラリーを起動するボタンをクリックし、ギャラリーから写真を選択すると、アプリが写真を圧縮してサムネイルを生成します。このアクションには数秒かかります。アプリが何かを実行していることをユーザーに知らせるダイアログを表示したいと考えています。問題は、写真が生成されている間、ギャラリーがまだ画面上でアクティブであり、ダイアログが表示されないことです。現在、以下のコードを使用すると、「このウィンドウ タイプに対して許可が拒否されました」および「badtoken」に関するエラーが発生します。「SYSTEM_ALERT_WINDOW」のマニフェストにアクセス許可が設定されています
私の質問は基本的に、このダイアログをギャラリー ビューの上に表示するにはどうすればよいですか?
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
// Do this if result came from selection in android photo gallery
case PICK_EXISTING_PHOTO_RESULT_CODE: {
if (resultCode == RESULT_OK) {
AlertDialog alertDialog = new AlertDialog.Builder(this)
.setTitle("").setMessage("Optimizing Photo...")
.setCancelable(false).create();
alertDialog.getWindow().setType(
WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG);
alertDialog.show();