使用Activity和Service中的上下文调用AsyncTask

时间:2014-08-23 23:26:56

标签: 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 id ) {

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

    }

当我从Activity调用它时效果很好,但我有Service应该使用此功能 DownloadFiles下载文件并显示ProgressDialog

问题出在我打电话的时候:

Intent service = new Intent(this,DownloadFiles.class);
startService(service);

使用content中的Service初始化它并遇到崩溃问题

mDialog = new ProgressDialog(context); 

如何从我的Activity和来自Service

运行它

1 个答案:

答案 0 :(得分:0)

快速查看Context Capabilities下的this link。它将向您解释服务上下文无法显示对话框 相反,您可以在从服务运行AsyncTask时显示通知,在从活动运行时显示ProgressDialog。