androd1.6怎么屏蔽HOME键?100分求

TheSadLove 2011-11-04 01:14:13
1. androd1.6怎么屏蔽HOME键?

2. android中在卸载应用程序前或后怎么让它跳到一个Activity做个原因调查???
...全文
171 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xlight2023 2011-11-05
  • 打赏
  • 举报
回复
api level5之前的HOME无法截获,除非去修改源码,如果是在为企业中应用程序的话,修改源码也不是一条可行的解决方法,要么就升级项目的api 等级 ,要么就不管HOME键 。

LZ提的第二个问题,在程序卸载后跳到某个界面做用户调查,这个无法实现;在卸载前做用户调查,我有个思路,但也不太可行,使用android的卸载程序卸载应用时会发送广播,接受广播后启动浏览器或跳到Activity;
还有,每一个动作都有输出流,截取输出流,如果发现卸载那个应用包的信息,做处理
knxw0001 2011-11-04
  • 打赏
  • 举报
回复
Home键貌似无法屏蔽,而且onkeydown函数根本监测不到home键,系统自动处理了。
xiaojian623 2011-11-04
  • 打赏
  • 举报
回复
膜拜妞妞[Quote=引用 6 楼 yiyaaixuexi 的回复:]

看一下源码:
Java code


if (code == KeyEvent.KEYCODE_HOME) {
// If a system window has focus, then it doesn't make sense
// right now to interact with applications.
WindowManager.LayoutParams attrs =……
[/Quote]
念茜 2011-11-04
  • 打赏
  • 举报
回复
看一下源码:


if (code == KeyEvent.KEYCODE_HOME) {
// If a system window has focus, then it doesn't make sense
// right now to interact with applications.
WindowManager.LayoutParams attrs = win != null ? win.getAttrs() : null;
if (attrs != null) {
final int type = attrs.type;
if (type == WindowManager.LayoutParams.TYPE_KEYGUARD
|| type == WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG) {
// the "app" is keyguard, so give it the key
return false;
}
final int typeCount = WINDOW_TYPES_WHERE_HOME_DOESNT_WORK.length;
for (int i=0; i<typeCount; i++) {
if (type == WINDOW_TYPES_WHERE_HOME_DOESNT_WORK[i]) {
// don't do anything, but also don't pass it to the app
return true;
}
}

}



两个参数 WindowManager.LayoutParams.TYPE_KEYGUARD和
WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG ,重写onAttachedToWindow,以实现屏蔽Home键,但是API 5以上。
1.6只有修改源码framework层,但是不只是对你的app有效了。
b87936260 2011-11-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 peijiangping1989 的回复:]

在应用中貌似屏蔽不了源码。必须从系统入手。修改源码应该可以。做山寨机的哇。

第2个很简单哦,在卸载应用后,接收一下广播,打开你的应用就可以了。
[/Quote]
卸载了这个应用后怎么还能跳到这个应用??
一般做法是卸载后打开浏览器填写意见把!
小裴同学 2011-11-04
  • 打赏
  • 举报
回复
在应用中貌似屏蔽不了源码。必须从系统入手。修改源码应该可以。做山寨机的哇。

第2个很简单哦,在卸载应用后,接收一下广播,打开你的应用就可以了。
West_Link 2011-11-04
  • 打赏
  • 举报
回复
HOME键在PhoneWindowMananger中就被consume掉了,外界屏蔽不了
xlight2023 2011-11-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 kenshintang1215 的回复:]
@Override
public void onAttachedToWindow() {
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
[/Quote]

这是API Level 5以后的方式,在android 1.6中不能用
Hinagi 2011-11-04
  • 打赏
  • 举报
回复

@Override
public void onAttachedToWindow() {
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}

80,354

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧