美文网首页Android技术知识程序员
android监听应用按下home键

android监听应用按下home键

作者: 24K纯帅豆 | 来源:发表于2016-10-13 10:36 被阅读459次

    在这里我们可以使用广播来监听


    1、先创建一个广播

    private static finalStringSYSTEM_DIALOG_REASON_KEY="reason";
    private static finalStringSYSTEM_DIALOG_REASON_RECENT_APPS="recentapps";
    private static finalStringSYSTEM_DIALOG_REASON_HOME_KEY="homekey";
    private static finalStringSYSTEM_DIALOG_REASON_LOCK="lock";
    private static finalStringSYSTEM_DIALOG_REASON_ASSIST="assist";
    
    @Override
    public voidonReceive(finalContext context, Intent intent) {
        String action = intent.getAction();
        Log.i(LOG_TAG,"onReceive: action: "+ action);
        if(action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) {
            String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY);
            Log.d(LOG_TAG,"reason="+ reason);   
            if(SYSTEM_DIALOG_REASON_HOME_KEY.equals(reason)) {
                //短按Home键
                Log.d(TAG,"短按Home键");   
            }else if(SYSTEM_DIALOG_REASON_RECENT_APPS.equals(reason)) {
                //长按Home键 或者activity切换键
                Log.d(TAG,"长按Home键 或者activity切换键");
            }else if(SYSTEM_DIALOG_REASON_LOCK.equals(reason)) {
                //锁屏    
                Log.d(TAG,"锁屏");
            }else if(SYSTEM_DIALOG_REASON_ASSIST.equals(reason)) {
                //长按Home键
                Log.d(TAG,"长按Home键");
            }
        }
    }
    

    2、然后写一个通用的Activity,让应用中的所有Activity都继承该Activity,并在该Activity中的onResume中注册广播,在onPause中注销广播

    //注册广播
    private static voidregisterHomeKeyReceiver(Context context) {
        mHomeKeyReceiver=newHomeWatcherReceiver();
        finalIntentFilter homeFilter =newIntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
        context.registerReceiver(mHomeKeyReceiver, homeFilter);
    }
        
    //注销广播
    private static voidunregisterHomeKeyReceiver(Context context) {
        if(null!=mHomeKeyReceiver) {
            context.unregisterReceiver(mHomeKeyReceiver);
        }
    }
    
    公众号:Android技术经验分享

    相关文章

      网友评论

        本文标题:android监听应用按下home键

        本文链接:https://www.haomeiwen.com/subject/hejwyttx.html