Java 使用活动和服务中的上下文调用AsyncTask

Java 使用活动和服务中的上下文调用AsyncTask,java,android,android-context,Java,Android,Android Context,我有一个AsyncTask,我在其中下载文件并在下载时显示ProgressDialog public class DownloadFiles extends AsyncTask<Void, Long, Boolean> { private final ProgressDialog mDialog; public DownloadFiles(Context context, String path1 String path2, Long i

我有一个AsyncTask,我在其中下载文件并在下载时显示ProgressDialog

public class DownloadFiles extends AsyncTask<Void, Long, Boolean> {

    private final ProgressDialog mDialog;


    public DownloadFiles(Context context, String path1 String path2,
            Long id ) {

        mDialog = new ProgressDialog(context);
        mDialog.setMax(100);
        mDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
        mDialog.setProgress(0);
        mDialog.show();

    }
它无法使用服务中的内容初始化它,并且无法联机崩溃:

mDialog = new ProgressDialog(context); 
如何从“活动”和“服务”运行它?

快速查看上下文功能。它将向您解释服务上下文不能显示对话框。
例如,您可以在从服务运行异步任务时显示通知,在从活动运行异步任务时显示进度对话框。

我明白了。。。我不能“假装”它吗?在我的AsyncTask中,我使用的是一个ProgressDialog,API强迫我初始化。不,如果你试图显示来自服务的对话框,系统将使你的应用程序崩溃。
mDialog = new ProgressDialog(context);