Tested on Android 4.4.2
NOTE THAT Changes in these files tagged with "[ADD]"
- Add buttons(com.android.systemui.statusbar.policy.KeyButtonView) into navigation_bar.xml files contained in;
- res/layout/
- res/layout-ldrtl/
- res/layout-sw600dp/
- res/layout-sw720dp/
- Don't forget to define "systemui::keyCode" value.
- Consider different rotations (FrameLayouts in navigation_bar.xml with id
rot90
androt0
) - Sample: Brightness buttons (
kbBrightnessDown
,kbBrightnessUp
) in navigation_bar.xml
- Add buttons into navigation_bar.xml files
- Create a touch listener for the button in PhoneStatusBar.java
- Use action
MotionEvent.ACTION_UP
in the listener - Sample:
mStandByOnTouchListener
in PhoneStatusBar.java
- Create a touch listener for the button
- Broadcast an special intent
- Then in user-level application, register an intent receiver for this action
- Sample:
mStandByOnTouchListener
in PhoneStatusBar.java
- Register a broadcast intent receiver in PhoneStatusBar.java
- Then process received intent data
- Sample:
mNavBarReceiver
in PhoneStatusBar.java