android虚拟键盘disable与enable
Posted endian11
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android虚拟键盘disable与enable相关的知识,希望对你有一定的参考价值。
- 代码如下
/** * androidUSBCamera-master * Created by lzw on 2018/6/20. 10:53:22 * 邮箱:[email protected] * All Rights Saved! Chongqing AnYun Tech co. LTD */ public class ShieldUtil { 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 String METHOD_ENABLE = "enable"; public static void hideKeys(Context context){ try { @SuppressLint("WrongConstant") Object service = context.getSystemService(STATUS_BAR_SERVICE); Class<?> statusBarManager = Class.forName(CLASS_STATUS_BAR_MANAGER); Method disable = statusBarManager.getMethod(METHOD_DISABLE, int.class); // disable.invoke(service, 0x00200000); // 为View.STATUS_BAR_DISABLE_HOME 的值 // disable.invoke(service, 0x00400000); // 为View.STATUS_BAR_DISABLE_BACK 的值 disable.invoke(service, 0x00200000|0x01000000); // 为View.STATUS_BAR_DISABLE_RECENT的值 } catch (Exception e) { e.printStackTrace(); } } public static void showKeys(Context context){ try { @SuppressLint("WrongConstant") Object service = context.getSystemService(STATUS_BAR_SERVICE); Class<?> statusBarManager = Class.forName(CLASS_STATUS_BAR_MANAGER); Method disable = statusBarManager.getMethod(METHOD_DISABLE, int.class); disable.invoke(service, 0x00000000|0x00000000); // 为View.STATUS_BAR_DISABLE_RECENT的值 } catch (Exception e) { e.printStackTrace(); } } }
- 注意:只能在有系统权限下使用,也就是在AndroidManifest.xml里面有
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:sharedUserId="android.uid.system" package="com.jiangdg.usbcamera">
- 需要有权限
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR"/>
- 所以这就决定了只能再自己有源码不是定制android系统的设备上有效果
以上是关于android虚拟键盘disable与enable的主要内容,如果未能解决你的问题,请参考以下文章
Android:DownloadManager 和 COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED
Android Gradle 插件LintOptions 配置 ⑥ ( checkReleaseBuilds 属性配置 | disable 属性配置 | enable 属性配置 )
eclipse,android虚拟机按键不可用解决方法hardware buttons not enabled in avd