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, "你點擊了HOME鍵", Toast.LENGTH_LONG).show(); ?
? ? ? }
? ? ? ?return super.onKeyDown(keyCode, event);
}
還需要加權限
<uses-permissionandroid:name="android.permission.SYSTEM_ALERT_WINDOW"/>
然而對于4.0以上的 我也沒有找到方法,不過因為我的要求不是很復雜 通過曲線方式實現
根據activity的聲明周期 當按下Home鍵時 會依此執行onPause()->onStop()方法,并沒有將activity銷毀 當再次打開activity時會依此執行onRestart()->onStart()->onResume()方法,所以我只需要將我的操作放在onPause()方法中就可以了,
轉載于:https://www.cnblogs.com/wy282904170/archive/2013/05/20/3088578.html
總結
以上是生活随笔為你收集整理的android 捕捉home键的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新服务器的配置
- 下一篇: 基于.Net 写我自己的Ajax后台框架