Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 短按耳機鍵暫停/播放FM功能的實現 m

Android 短按耳機鍵暫停/播放FM功能的實現 m

編輯:關於Android編程

        雨季o莫憂離:http://blog.csdn.net/luckkof 正文   短按耳機鍵默認是暫停/播放音樂功能,按照如下的修改方式可以實現短按耳機鍵暫停/播放FM   please delete your media button code, modify as below. Thanks: 1. AndroidMenifest.xml : <receiver android:name=".FMRadioActivity$MediaButtonReceiver">             <intent-filter>                 <action android:name="android.intent.action.MEDIA_BUTTON" />             </intent-filter>         </receiver>   2. FMRadioActivity.java code:   public interface MediaButtonListener {         void onMediaButtonCall(Intent intent);     }         private MediaButtonListener mMediaButtonListener = new MediaButtonListener() {           @Override         public void onMediaButtonCall(Intent intent) {             String action = intent.getAction();             LogUtils.d(TAG, "onMediaButtonCall.action:" + action);             KeyEvent event = (KeyEvent)                     intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);              LogUtils.d(TAG, "onMediaButtonCall.event:" + event);             if (Intent.ACTION_MEDIA_BUTTON.equals(action)) {                 LogUtils.d(TAG, "--Mediareceiver.event.getKeyCode(): " + event.getKeyCode());                 LogUtils.d(TAG, "--Mediareceiver.event.getAction(): " + event.getAction());                 if (KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE == event.getKeyCode() && event.getAction() == KeyEvent.ACTION_UP) {                     LogUtils.d(TAG, "--Mediareceiver.pause");                                         if (mIsPlaying) {                         LogUtils.d(TAG, "onMediaButtonCall.power down fm");                          refreshImageButton(false); refreshActionMenuItem(false);                          refreshPopupMenuItem(false);                          refreshActionMenuPower(false); exitService();                     }                                     } else if (KeyEvent.KEYCODE_MEDIA_NEXT == event.getKeyCode() && event.getAction() == KeyEvent.ACTION_UP) {                                          if (mIsPlaying) {                          LogUtils.d(TAG, "onMediaButtonCall.seek next station");                          seekStation(mCurrentStation, true);                      }                 }             }         }     };         public static class MediaButtonReceiver extends BroadcastReceiver {         static MediaButtonListener mListener = null;                 @Override         public void onReceive(Context context, Intent intent) {             String action = intent.getAction();             if (null != mListener) {                 mListener.onMediaButtonCall(intent);                 this.abortBroadcast();             }         }         public static void registerMediaButtonListener(MediaButtonListener callback) {             mListener = callback;         }     }   onCreate method: MediaButtonReceiver.registerMediaButtonListener(mMediaButtonListener);                 ComponentName rec = new ComponentName(getPackageName(),                 MediaButtonReceiver.class.getName());         mAudioManager.registerMediaButtonEventReceiver(rec);   powerupFM method:         mAudioManager.registerMediaButtonEventReceiver(new ComponentName(this.getPackageName(),                 MediaButtonReceiver.class.getName()));   exitService method:         mAudioManager.unregisterMediaButtonEventReceiver(new ComponentName(this.getPackageName(),                 MediaButtonReceiver.class.getName()));     <receiver android:name=".FMRadioActivity$MediaButtonReceiver" >             <intent-filter>                 <action android:name="android.intent.action.MEDIA_BUTTON" />             </intent-filter>         </receiver>
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved