0
私はjavaを初めて使い、バックグラウンドでサービスを実行する方法を知りたいと思います。そのアクティビティが閉じられて再び開かれたとき、それはサービスと共に続けられます。私はそれを説明する方法を知らない。アクティビティを実行してサービスを提供する方法
各サービスが1時間ごとに実行される3つのサービスを想定します。
サービス1 ... 1時間...サービス2 ... 1時間...サービス3.終了しました。
実行されるたびに、テキストビューがアクティビティで表示されます。ただし、アクティビティが終了すると、テキストビューは作成されません。
サービス1以下の例に示すように、私が見つけた唯一の方法は、変数を使用してあった:
public int service_one_done = 1;
サービス2:
public int service_two_done = 1;
はサービス3:
public int service_three_done = 1;
法ivityのonCreate:
if (service_one_done == 1) { textview_example1.setVisibility(View.VISIBLE)
} if (service_two_done == 1) { textview_example2.setVisibility(View.VISIBLE)
} if (service_three_done == 1) { textview_example3.setVisibility(View.VISIBLE)
}
私はこの
private static void sendMessageToActivity(Location l, String msg) {
Intent intent = new Intent("GPSLocationUpdates");
// You can also include some extra data.
intent.putExtra("Status", msg);
Bundle b = new Bundle();
b.putParcelable("Location", l);
intent.putExtra("Location", b);
LocalBroadcastManager.getInstance(context).sendBroadcast(intent);
}
とアクティビティ側で我々は持っていると書いた私のサービスクラスでは、この
....私はこれをしなかった....私のコードで
あなたが欲しい、これまで何を実行するそのクラスのクラスです。方法;ブロードキャストレシーバを使ってみてください。そうすれば、アクティビティが実行されているときに、サービスによって送信されたブロードキャストを聴いてテキストビューを更新し、アクティビティが破棄されてもそれらのブロードキャストをリッスンしません。お役に立てれば – shadygoneinsane