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;

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 Activity】 什么是 Activity? 四大组件之一,通常一个用户交互界面对应一个 ac...
    Rtia阅读 9,210评论 3 18
  • 先创建服务端的APP 1.官网下载Winrun4j。http://winrun4j.sourceforge.net...
    Alex_1799阅读 5,842评论 1 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,314评论 19 139
  • 午夜 有船入海 压碎了一片月 和满载群星的梦 把它们装入漂流瓶 流去远方 一切 寂静咆哮 咆哮在一层层 掀起的泡沫...
    大力水手的菠菜君阅读 1,950评论 3 1
  • 1.每逢佳节倍思亲。 又是一年元宵节独自在外地过了,仔细数来好像已经有四个元宵在距家千里之外的地方了。想起那句歌词...
    小K_sn阅读 1,248评论 0 0