android 捕捉home键
?android4.0以下 可用
?privatebooleancatchHomeKey = false; ?
public void onAttachedToWindow()? ?
? ? {? ? ?
? ? ? ?if (!catchHomeKey) { ?
? ? ? ? ? ? this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); ?
? ? ? ? } ?
? ? ? ? super.onAttachedToWindow(); ?
? ? } ? 然后再在
onKeyDown方法中捕獲
public boolean onKeyDown(int keyCode, KeyEvent event) {
? ? ?if (keyCode==KeyEvent.KEYCODE_HOME) {
? ? ? ? ? Toast.makeText(this, "你點(diǎn)擊了HOME鍵", Toast.LENGTH_LONG).show(); ?
? ? ? }
? ? ? ?return super.onKeyDown(keyCode, event);
}
還需要加權(quán)限
<uses-permissionandroid:name="android.permission.SYSTEM_ALERT_WINDOW"/>
然而對(duì)于4.0以上的 我也沒有找到方法,不過因?yàn)槲业囊蟛皇呛軓?fù)雜 通過曲線方式實(shí)現(xiàn)
根據(jù)activity的聲明周期 當(dāng)按下Home鍵時(shí) 會(huì)依此執(zhí)行onPause()->onStop()方法,并沒有將activity銷毀 當(dāng)再次打開activity時(shí)會(huì)依此執(zhí)行onRestart()->onStart()->onResume()方法,所以我只需要將我的操作放在onPause()方法中就可以了,
轉(zhuǎn)載于:https://www.cnblogs.com/wy282904170/archive/2013/05/20/3088578.html
總結(jié)
以上是生活随笔為你收集整理的android 捕捉home键的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新服务器的配置
- 下一篇: 基于.Net 写我自己的Ajax后台框架