4

私は音楽アプリを開発しています。音楽の再生/一時停止にスピーカーまたはアラームが鳴っている他のアプリを検出したい。

電話の場合はPhoneStateListenerを使用します。他のオーディオを検出するためにOnAudioFocusChangeListenerを試しました。しかし、うまくいきませんでした。

この問題をどのように解決するのか疑問に思います。

4

1 に答える 1

8

デフォルトのアラームアプリケーションの問題を解決しました:

public static final String ALARM_ALERT_ACTION = "com.android.deskclock.ALARM_ALERT";
public static final String ALARM_SNOOZE_ACTION = "com.android.deskclock.ALARM_SNOOZE";
public static final String ALARM_DISMISS_ACTION = "com.android.deskclock.ALARM_DISMISS";
public static final String ALARM_DONE_ACTION = "com.android.deskclock.ALARM_DONE";

private BroadcastReceiver mReceiver = new BroadcastReceiver() 
{
    @Override
    public void onReceive(Context context, Intent intent) 
    {
          String action = intent.getAction();
          if (action.equals(ALARM_ALERT_ACTION) || action.equals(ALARM_DISMISS_ACTION) || action.equals(ALARM_SNOOZE_ACTION) || action.equals(ALARM_DONE_ACTION)) 
          {
              // for play/pause mediaplayer
              playPause();
          }
    }
};


@Override
public void onCreate(Bundle savedInstanceState) 
{
    IntentFilter filter = new IntentFilter(ALARM_ALERT_ACTION);
    filter.addAction(ALARM_DISMISS_ACTION);
    filter.addAction(ALARM_SNOOZE_ACTION);
    filter.addAction(ALARM_DONE_ACTION);
    registerReceiver(mReceiver, filter);
}
于 2012-08-10T13:46:49.110 に答える