1

Android アプリでサービスを開始するアクティビティがあり、ボタンの押下にも反応します。インスタンス化され、Android サービスで実行されているメディアプレーヤーがあります。計画は、アクティビティでボタン プレス イベントを取得し、その情報をメディア プレーヤーを実行しているサービスに送信することです。このようにして、一時停止ボタンを押すとボタン押下イベント情報がサービスに送信され、サービスでメディア プレーヤーの一時停止メソッドが呼び出されます。

今思いつく 2 つのアイデアがあります。1 つ目は、ブロードキャスト レシーバー クラスを作成し、ボタンの押下をそのクラスに登録し、インテント エクストラを使用してサービスに送信することです。2 番目のアイデアは、ブロードキャスト レシーバー タイプのネストされた匿名内部クラスを作成し、それをサービス内で処理することです。

これを行う最善の方法は何ですか?

4

1 に答える 1

1

データを渡したいときはいつでも startService(..) を呼び出すだけです。サービスは初めて実行されますが、次の呼び出しでは、渡した新しいエクストラを使用して新しい onStartCommand() 呼び出しのみがトリガーされます。

于 2017-07-28T06:42:20.340 に答える