Android禁用home/recent键的方法
禁用home/recent键步骤如下,成功调用的前提是app要系统签名(platform key)
1. 定义flags变量如下
public static final int DISABLE_NONE =0x00000000;
public static final int DISABLE_HOME =0x00200000;
public static final int DISABLE_RECENT =0x01000000;
【Android禁用home/recent键的方法】public static final int DISABLE_EXPAND =0x00010000;
2. 在onWindowFocusChanged方法中调用disableStatusBar
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
disableStatusBar(DISABLE_HOME |DISABLE_RECENT |DISABLE_EXPAND);
}
3. 在onStop中还原status bar状态,在定要还原,否则系统无法正常使用。
@Override
protected void onStop() {
super.onStop();
Log.e(TAG,"#################onStop");
disableStatusBar(DISABLE_NONE);
}
public void disableStatusBar(int flags) {
try {
Object service = getSystemService("statusbar");
Class statusBarManager = Class.forName("android.app.StatusBarManager");
Method disable = statusBarManager.getMethod("disable",int.class);
disable.invoke(service, flags);
}catch (Exception e) {
Log.e(TAG,"#################disable error:", e);
}
}
推荐阅读
- android第三方框架(五)ButterKnife
- Android中的AES加密-下
- 带有Hilt的Android上的依赖注入
- android|android studio中ndk的使用
- Android事件传递源码分析
- RxJava|RxJava 在Android项目中的使用(一)
- Android7.0|Android7.0 第三方应用无法访问私有库
- 深入理解|深入理解 Android 9.0 Crash 机制(二)
- android防止连续点击的简单实现(kotlin)
- Android|Android install 多个设备时指定设备