关于Home键 android

来源:互联网 发布:java jsp下载文件 编辑:程序博客网 时间:2024/05/29 13:12

只是记录个人使用,不建议使用  : 


public HomeReveiver homeReveiver = null;

    public IntentFilter filterhome = null;


   oncreat(){

   homeReveiver = new HomeReveiver();
   filterhome = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
   registerReceiver(homeReveiver, filterhome);

 }


  onDestroy(){

         unregisterReceiver(homeReveiver);

 }

 


     * TODO:Home键响应,按下home键至MyTv界面
     *
     * @author: CaoXiuxia
     *
     * @data:2014.04.16 describe: android4.0以上 HOME /POWER键 很特殊
     */

    /*
     * 由于Home键的特殊性,它的逻辑在framework内被处理,因此无法做到截获/屏蔽Home键,
     * 而只能得到它的消息,但是在得到消息后,如果要把已经退到后台的app再启动起来, 也并非不能,界面会闪一下
     * 需要注意的是,在4.0以后,home键可能有两种reason,分别是原本的Home与显示最近的应用,
     * 在receiver中,通过判断reason字符串,可以分别处理。
     */

    /*public class HomeReveiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            // TODO Auto-generated method stub
            String action = intent.getAction();
            if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) {
                String reason = intent.getStringExtra("reason");
                if (reason != null) {
                    if (reason.equals("homekey")) {
                        // TODO:add Event when HomeKey pressed
                        Log.i(TAG, "HOME KEY");
                        Log.d(TAG, "homekey press  01 item name -->"
                                + viewPager.getCurrentItem());
                        // /////////////

                        }
                        // String packageName = "com.hisense.galamote";
                        // 重新启动app,明天再看


                        String packageName = getBaseContext().getPackageName();
                        Log.d(TAG, "packageName-->" + packageName);
                        Intent intent01 = getBaseContext().getPackageManager()
                                .getLaunchIntentForPackage(packageName);
                        intent01.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                        context.startActivity(intent01);

                    } else if (reason.equals("recentapps")) {
                        // TODO:recet app press
                        Log.i(TAG, "LONG HOME KEY");
                    }

                }
            }
        }
    }

0 0
原创粉丝点击