私は音楽プレーヤーを実装しています。通知により、ユーザーは曲を一時停止またはスキップできます。私が使う
Intent i = new Intent("com.package.app");
mExpandedView.setOnClickPendingIntent(R.id.next_song, PendingIntent.getBroadcast(this, 0, i, 0));
このクリックを、MediaPlayer および関連するすべてのメソッドをホストする MusicService に送信するため。このサービスのメソッド部分 (playNextSong() など) を直接呼び出したいのですがgetService()
、新しいサービスを起動することしかできないようで、サービス内のメソッドを呼び出したり、データを取得したりすることはできません。音楽が再生され、既に実行されているため、サービスを起動する必要さえありません。
だから、私が気付いていないこれを行う方法はありますか?または、
通知はBroadcastReceiverにブロードキャストされ、BroadcastReceiverは推奨される方法でサービスにブロードキャストされ、このアクションを実行しますか? シンプルなことをするのは複雑な方法のように見えます...