多次點選camera鍵或者電源鍵 調起app
阿新 • • 發佈:2018-12-26
當時這個需求是,連續點選camera鍵啟動掃碼app。由於怕和其他app共享一個廣播,所以自己定義了一個廣播
ACTION_CAMERA_BUTTON.DC
掃碼app監聽ACTION_CAMERA_BUTTON.DC這個廣播。
修改檔案
frameworks/base/policy/src/com/android/internal/policy/impl/PhoneFallbackEventHandler.java
boolean onKeyDown(int keyCode, KeyEvent event) { case KeyEvent.KEYCODE_CAMERA: { //start if(event.getRepeatCount() == 5){ Intent intent = new Intent(Intent.ACTION_CAMERA_BUTTON+"DC", null); intent.putExtra(Intent.EXTRA_KEY_EVENT, event); mContext.sendOrderedBroadcastAsUser(intent, UserHandle.CURRENT_OR_SELF, null, null, null, 0, null, null); } //end else if (event.isLongPress() && dispatcher.isTracking(event)) { dispatcher.performedLongPress(event); mView.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS); sendCloseSystemWindows(); // Broadcast an intent that the Camera button was longpressed Intent intent = new Intent(Intent.ACTION_CAMERA_BUTTON, null); intent.putExtra(Intent.EXTRA_KEY_EVENT, event); mContext.sendOrderedBroadcastAsUser(intent, UserHandle.CURRENT_OR_SELF, null, null, null, 0, null, null); } }
如果點選次數等於5次就發起廣播給掃碼app