2012-08-07 73 views
5

我正在开发一个音乐应用程序。我想检测其他应用程序使用扬声器或闹钟铃声播放/暂停音乐。如何使用扬声器检测闹铃或其他应用程序?

对于打电话我使用PhoneStateListener。我尝试使用OnAudioFocusChangeListener来检测其他音频。但没有奏效。

我想知道如何解决这个问题。

回答

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); 
} 
+2

在三星Galaxy不行的S * – digitalfootmark 2013-12-05 14:04:15

+1

三星有一个自定义闹钟应用,随着股市一个工程就像一个魅力 – crysxd 2016-02-10 07:04:41

相关问题