0

我有一个 AsyncTask 启动时启动(由服务调用)。在某些情况下,我想发送通知以启动主 Activity。当我尝试打电话时,我的问题来了:

NotificationManager notManager = (NotificationManager) getSystemService(ns);

eclipse 向我显示一个错误,因为 AsyncTask 没有 getSystemService 方法。任何的想法?

谢谢你。

4

2 回答 2

3

因为 getSystemService 是 Context 类的方法。在这里查看。

在调用函数之前,在 AsyncTask 中创建一个 Context 变量。然后在你的构造函数中初始化它,即

Context context;

public MyAsyncTask(Context contextin)
{ context = contextin;}

然后使用这个上下文变量来调用你的函数:

NotificationManager notManager = (NotificationManager) context.getSystemService(ns);

执行 AsyncTask 时不要忘记输入上下文:

MyAsyncTask mytask = new MyAsyncTask(getApplicationContext());
mytask.execute();

我也觉得 IntentService 会更适合您的需求。

于 2012-07-12T02:48:45.133 回答
1

You could start a service that launches your application at the end of the background thread in your asynctask.

于 2012-07-12T03:12:46.413 回答