4.0 以后home键、menu键截获问题,高手进

jcc3120 2012-12-19 11:44:12
rt
4.0
@Override
public void onAttachedToWindow() {

this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
//this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);

super.onAttachedToWindow();
}

以上这种方式无效。
...全文
195 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jobernowl 2012-12-20
  • 打赏
  • 举报
回复
定义一个全局广播接收器接收按了home键之后打开程序 然后发一个广播让其他activity都关闭自己
hvk687 2012-12-19
  • 打赏
  • 举报
回复
home key什么时候可以被截获了?给windowmanagerservie给截获了吧
jcc3120 2012-12-19
  • 打赏
  • 举报
回复
引用 楼主 jcc3120 的回复:
rt 4.0 @Override public void onAttachedToWindow() { this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); //this.getWindow().setType(WindowManager.LayoutParams.TYPE……
想实现点HOME返回APP主Activity,如何弄?
pobi 2012-12-19
  • 打赏
  • 举报
回复
注册Receiver

              HomeKeyEventBroadCastReceiver receiver = new HomeKeyEventBroadCastReceiver();
             registerReceiver(receiver, new IntentFilter(
                           Intent. ACTION_CLOSE_SYSTEM_DIALOGS));
Receiver代码

public class HomeKeyEventBroadCastReceiver extends  BroadcastReceiver{
       
        static final String TAG = "HomeKeyEventBroadCastReceiver";
       
        static final String SYSTEM_REASON = "reason"; 
    static final String SYSTEM_HOME_KEY = "homekey" ;//home key 
    static final String SYSTEM_RECENT_APPS = "recentapps" ;//long home key 
      
    @Override 
    public void onReceive(Context context, Intent intent) { 
        String action = intent.getAction(); 
        if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { 
            String reason = intent.getStringExtra( SYSTEM_REASON); 
            if (reason != null) { 
                if (reason.equals(SYSTEM_HOME_KEY)) { 
                    // home key
                    Log. i(TAG, "HOME KEY");  
                } else if (reason.equals(SYSTEM_RECENT_APPS)) { 
                    // long home key
                    Log. i(TAG, "LONG HOME KEY");
                } 
            } 
        } 
    } 

}
这个receiver应该是监听窗口啥启动的(长按电源键弹出的dialog也能监听到)
流星叶雨 2012-12-19
  • 打赏
  • 举报
回复
4.0以上,禁止覆写home键- -

80,337

社区成员

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

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