android4.0如何屏蔽掉home键
7个回答
2013-12-27
展开全部
这个是可以屏蔽的,我之前一直从事android手机锁屏软件开发。在2.2,2.3版本上重写下面方法就能重写home键public void onAttachedToWindow() { this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); super.onAttachedToWindow();}但是在4.0以上就不能用了。刚刚发现4.0上还有一种方法可以屏蔽和重写Home键,而且非常简单。代码如下:public static final int FLAG_HOMEKEY_DISPATCHED = 0x80000000; //需要自己定义标志public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.getWindow().setFlags(FLAG_HOMEKEY_DISPATCHED, FLAG_HOMEKEY_DISPATCHED);//关键代码 setContentView(R.layout.main);}再重写onKey事件即可。@Override public boolean onKeyDown( int keyCode, KeyEvent event) { // TODO Auto-generated method stub if (keyCode == event. KEYCODE_HOME) { return true; } return super.onKeyDown(keyCode, event); }
展开全部
android4.0屏蔽掉home键的方法为:
1、在4.0以上的版本中需要利用以下方法屏蔽和重写Home键,代码如下:
public static final int FLAG_HOMEKEY_DISPATCHED = 0x80000000; //需要自己定义标志
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.getWindow().setFlags(FLAG_HOMEKEY_DISPATCHED, FLAG_HOMEKEY_DISPATCHED);//关键代码
setContentView(R.layout.main);
}
2、再重写onKey事件即可。
@Override
public boolean onKeyDown( int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (keyCode == event. KEYCODE_HOME) {
return true;
}
return super.onKeyDown(keyCode, event);
}
PS:
在AndroidMainfest.xml需要加权限:
<uses-permission android:name = "android.permission.DISABLE_KEYGUARD"/><!-- 屏蔽HOME键需要的权限 -->
在配置文件中,在使用了Notification的activity中加一个属性android: android:launchMode="singleInstance"
1、在4.0以上的版本中需要利用以下方法屏蔽和重写Home键,代码如下:
public static final int FLAG_HOMEKEY_DISPATCHED = 0x80000000; //需要自己定义标志
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.getWindow().setFlags(FLAG_HOMEKEY_DISPATCHED, FLAG_HOMEKEY_DISPATCHED);//关键代码
setContentView(R.layout.main);
}
2、再重写onKey事件即可。
@Override
public boolean onKeyDown( int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (keyCode == event. KEYCODE_HOME) {
return true;
}
return super.onKeyDown(keyCode, event);
}
PS:
在AndroidMainfest.xml需要加权限:
<uses-permission android:name = "android.permission.DISABLE_KEYGUARD"/><!-- 屏蔽HOME键需要的权限 -->
在配置文件中,在使用了Notification的activity中加一个属性android: android:launchMode="singleInstance"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-27
展开全部
Home键的Keyevent不会送到application层来,在framework就已经处理完了.你是没办法屏蔽的.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2016-03-19 · 知道合伙人软件行家
关注
展开全部
下边是android4.0之后屏蔽Home键的方法。
代码如下:
public static final int FLAG_HOMEKEY_DISPATCHED = 0x80000000;
在onCreate函数中添加如下代码
代码如下:
this.getWindow().setFlags(FLAG_HOMEKEY_DISPATCHED, FLAG_HOMEKEY_DISPATCHED);
代码如下:
public static final int FLAG_HOMEKEY_DISPATCHED = 0x80000000;
在onCreate函数中添加如下代码
代码如下:
this.getWindow().setFlags(FLAG_HOMEKEY_DISPATCHED, FLAG_HOMEKEY_DISPATCHED);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-27
展开全部
1.需要加权限: 2.在需要屏蔽的地方重写onKeyDown
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询