アプリケーションにブロードキャスト レシーバーがあります。ブロードキャストを受信すると、コンテンツをサービスに渡してデコードします。
public class Receiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("xxx.yyy.zzz")) {
Log.d("Receiver", "Intent received from server!");
byte[] data = intent.getByteArrayExtra("Data");
String params = intent.getStringExtra("Params");
Intent i = new Intent(context, DecodeService.class);
i.putExtra("Data", data);
i.putExtra("Params", params);
context.startService(i);
}
}
}
内容に応じて、本サービスから適切な活動を開始します。
このサービスの管理方法についていくつか質問があります。
このサービスはどこで停止すればよいですか? アクティビティを開始したら停止し、ブロードキャストを受信したら再開する必要がありますか? または、アプリケーションがアクティブなときに実行し、アプリケーションが終了したら停止する必要があります。
このサービスにバインドする利点は何ですか? また、ブロードキャストレシーバーからサービスにバインドできますか?