0

起動時に開始するAsyncTaskがあります(サービスによって呼び出されます)。場合によっては、メインアクティビティを開始するための通知を送信したいと思います。私が電話をかけようとすると、私の問題が発生します。

NotificationManager notManager = (NotificationManager) getSystemService(ns);

ここで、AsyncTaskがgetSystemServiceメソッドを持っていないため、eclipseはエラーを表示します。何か案が?

ありがとうございました。

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 に答える