2011-12-23 7 views
0

現在、アプリケーションを作成していて、アンドロイドデバイスでメディアプレーヤーを起動および停止する方法を制御します。音楽のみ。音楽プレイヤーがバックグラウンドでアクティブになっている場合や、フロントでのみサービスを実行したい場合は、私は電池寿命を節約するためにこれをしたいので、それは全体の時間を実行していません。メディアプレーヤーが動作しているかどうかを検出する方法

私はこのAudioManager.isMusicActive()を数回出てきましたが、音楽がバックグラウンドで再生されているかどうかだけはわかりません。

バックグラウンドでは、私のアプリが起動し、停止し、曲をスキップし、音楽を一時停止します。

ご協力ありがとうございます。

+0

私のアプリはいくつかのセンサを使用することになります、と私はこのようにやりたいと思ってるのセンサー全期間アクティブではありません – blitzfire911

答えて

0

あなたのサービスが実行されたときに制御するための適切な方法は、とき、曲が始まる、それを起動し、曲が終了または一時停止しているときにそれを停止することです。これにより、音楽が現在実行中であるかどうかを確認するためにポーリングする必要がなくなります。

しかし、あなたは絶対にサービスはあなたが使用することができます実行されているかどうかを確認するためにポーリングする必要がある場合は、次の

for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) { 
     if (YourServiceClass.class.getName().equals(service.service.getClassName())) { 
       service_running = true; 
      } 
     } 
関連する問題