java - AsyncTask 在运行期间不显示对话框

标签 java android android-asynctask progressdialog

我的 AsyncTask 的 progressDialog 没有显示。它似乎是正确的,但它不显示对话框。内部操作完美运行,但似乎忽略了 onPreExecute()onPostExecute() 方法。

private class copyApk extends AsyncTask<Void, Void, Void> {

    int appPosition;
    ProgressDialog mProgressDialog = new ProgressDialog(getActivity());


    @Override
    protected void onPreExecute(Void pre) {
        super.onPreExecute();

        mProgressDialog.setTitle("Copy apk");
        mProgressDialog.setMessage("Copying...");
        mProgressDialog.setIndeterminate(false);
        mProgressDialog.show();
    }



    @Override
    protected Void doInBackground(Void... apks) {
        final File customfolder = new File(Environment.getExternalStorageDirectory().toString()+File.separator+"HazyApkBackup");
        if(!customfolder.exists()){
            customfolder.mkdirs();
        }
        try
        {

            vacca = getActivity().getPackageManager().getApplicationInfo(app.getPackageName(), packageManager.GET_META_DATA).sourceDir.toString();
            //Toast.makeText(getActivity(), "Boh "+vacca, Toast.LENGTH_SHORT).show();
            process = Runtime.getRuntime().exec("cp " + vacca + " " + customfolder);
            //Toast.makeText(getActivity(), "Apk copied in "+customfolder, Toast.LENGTH_SHORT).show();
        }
        catch (PackageManager.NameNotFoundException | IOException e)
        {
            Toast.makeText(getActivity(), "Sorry, the apk was not copied correctly", Toast.LENGTH_SHORT).show();
        }       

        return null;
        }

    @Override
    protected void onPostExecute(Void result) {
    super.onPostExecute(result);

        if(mProgressDialog.isShowing())
        Toast.makeText(getActivity(), "Apk copied in "+customfolder, Toast.LENGTH_SHORT).show();
        mProgressDialog.dismiss();  

    }
}

谢谢

最佳答案

您的 onPreExecute() 方法没有被调用,因为它的签名不正确。正确的方法没有参数。

@Override
protected void onPreExecute()
{
    ...

关于java - AsyncTask 在运行期间不显示对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25427906/

相关文章:

linux - java运行jar文件失败不退出回提示

偏好设置中的 Android 存储数组

android - iOS/Android 的 Mono 打开还是关闭?付费还是免费?

android - 如何在 Android 中显示 Toast?

java - 防止 Android 在多任务 View 中显示敏感信息

java - 如何在 GUI 中使用 session

java - 如何在Android应用程序中实现通过gmail帐户发送邮件的反馈页面

java - 异步任务出错

java - Android AsyncTask 中的 ArrayList

java - 使用 eclipse 在 java 中使用 windows 应用程序