0

在我的应用程序中,您单击启动图库的按钮,从图库中选择照片后,我的应用程序会压缩照片并生成缩略图。此操作需要几秒钟,我想显示一个对话框,向用户说明一些内容,让他们知道我的应用正在做某事。问题是在生成照片时,画廊仍然在屏幕上处于活动状态,并且我的对话框没有出现。目前使用以下代码,我收到有关“此窗口类型的权限被拒绝”和“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();
4

1 回答 1

0
  • 我认为您无法从图库应用程序中显示对话框。您应该仅将文件选择传递给图库应用程序,然后在您的应用程序中处理处理,对吗?因此,您不会在图库应用程序中通知用户图像正在处理中。
  • 我想你会想要添加一个 ProgressBar,而不是一个 AlertDialog。当用户有一些选项时,或者当您想要确认某事时,通常会使用对话框,而不仅仅是指示进程正在运行。

我觉得你的时间表应该是:

  1. 您的活动
    • 用户按下按钮表示打算选择图像
  2. 图库应用程序
    • 用户选择图像
    • 图库应用程序返回文件/文件名
  3. 您的活动
    • 开始显示进度条
    • 过程映像
    • 结束进度条
于 2012-08-08T05:36:37.567 回答