linux cpu占用率如何看
478
2022-10-01
Android Launcher 隐藏和开启底部虚拟按键(动态更改)
方法一:这里我们可以写一个工具类 KeyButtonControl.java class KeyButtonControl {private static final String TAG = "KeyButtonControl";public static final String STATUS_BAR_SERVICE = "statusbar";public static final String CLASS_STATUS_BAR_MANAGER = "android.app.StatusBarManager";public static final String METHOD_DISABLE = "disable";/*public static final int STATUS_BAR_DISABLE_HOME = 0x00200000;// 为View.STATUS_BAR_DISABLE_HOME的值public static final int STATUS_BAR_DISABLE_BACK = 0x00400000;// 为View.STATUS_BAR_DISABLE_BACK的值public static final int STATUS_BAR_DISABLE_RECENT = 0x01000000;// 为View.STATUS_BAR_DISABLE_RECENT的值public static final int STATUS_BAR_DISABLE_EXPAND = 0x00010000;//整形标识public static final int STATUS_BAR_DISABLE_NONE = 0x00000000;//取消StatusBar所有disable属性,即还原到最最原始状态*//*** 隐藏Back按键*/public static void hideBackKey(Context mContext){try {@SuppressLint("WrongConstant") Object service = mContext.getSystemService(STATUS_BAR_SERVICE);Class> statusBarManager = Class.forName(CLASS_STATUS_BAR_MANAGER);Method disable = statusBarManager.getMethod(METHOD_DISABLE,int.class);disable.invoke(service, 0x00400000);Log.i(TAG,"mdm hideBackKey"); } catch (Exception e) {e.printStackTrace(); } }///*** 隐藏Home按键*/public static void hideHomeKey(Context mContext){try {@SuppressLint("WrongConstant") Object service = mContext.getSystemService(STATUS_BAR_SERVICE);Class> statusBarManager = Class.forName(CLASS_STATUS_BAR_MANAGER);Method disable = statusBarManager.getMethod(METHOD_DISABLE,int.class);disable.invoke(service, 0x00200000);Log.i(TAG,"mdm hideHomeKey"); } catch (Exception e) {e.printStackTrace(); } }///*** 隐藏Task按键*/public static void hideTaskKey(Context mContext){try {@SuppressLint("WrongConstant") Object service = mContext.getSystemService(STATUS_BAR_SERVICE);Class> statusBarManager = Class.forName(CLASS_STATUS_BAR_MANAGER);Method disable = statusBarManager.getMethod(METHOD_DISABLE,int.class);disable.invoke(service, 0x00200000 | 0x00400000 | 0x01000000);Log.i(TAG,"mdm hideBackKey"); } catch (Exception e) {e.printStackTrace(); } }/*** 隐藏全部按键*/public static void hideAllKey(Context mContext){try {@SuppressLint("WrongConstant") Object service = mContext.getSystemService(STATUS_BAR_SERVICE);Class> statusBarManager = Class.forName(CLASS_STATUS_BAR_MANAGER);Method disable = statusBarManager.getMethod(METHOD_DISABLE,int.class);disable.invoke(service, 0x00200000 | 0x00400000 | 0x01000000);Log.i(TAG,"mdm hideBackKey"); } catch (Exception e) {e.printStackTrace(); } }/*** 显示全部按键*/public static void showAllKey(Context mContext){try {@SuppressLint("WrongConstant") Object service = mContext.getSystemService(STATUS_BAR_SERVICE);Class> statusBarManager = Class.forName(CLASS_STATUS_BAR_MANAGER);Method disable = statusBarManager.getMethod(METHOD_DISABLE,int.class);disable.invoke(service, 0x00000000);Log.i(TAG,"mdm showAllKey"); } catch (Exception e) {e.printStackTrace(); } }} 方法二:frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java 将 VISIBLE 更改为 INVISIBLE 即可 getBackButton().setVisibility(disableBack ? View.INVISIBLE : View.VISIBLE);getHomeButton().setVisibility(disableHome ? View.INVISIBLE : View.VISIBLE);getRecentsButton().setVisibility(disableRecent ? View.INVISIBLE : View.VISIBLE);
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~