我有一个 AsyncTask 启动时启动(由服务调用)。在某些情况下,我想发送通知以启动主 Activity。当我尝试打电话时,我的问题来了:
NotificationManager notManager = (NotificationManager) getSystemService(ns);
eclipse 向我显示一个错误,因为 AsyncTask 没有 getSystemService 方法。任何的想法?
谢谢你。
我有一个 AsyncTask 启动时启动(由服务调用)。在某些情况下,我想发送通知以启动主 Activity。当我尝试打电话时,我的问题来了:
NotificationManager notManager = (NotificationManager) getSystemService(ns);
eclipse 向我显示一个错误,因为 AsyncTask 没有 getSystemService 方法。任何的想法?
谢谢你。
因为 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 会更适合您的需求。
You could start a service that launches your application at the end of the background thread in your asynctask.