zoukankan      html  css  js  c++  java
  • Android 如何让 app 自行处理 power key M

    前言
             欢迎大家我分享和推荐好用的代码段~~
    声明
             欢迎转载,但请保留文章原始出处:
             CSDN
    http://www.csdn.net
             雨季o莫忧离:http://blog.csdn.net/luckkof

    正文

     

     

    Power key 通常都是由 framework 自行的  app 无法拿到这个 key 值
    1: 修改 phoneWindowManager.java 的 interceptKeyBeforeQueueing 方法,在 reference line 后加入下面这段代码
    case KeyEvent.KEYCODE_POWER: { //reference line
     result &= ~ACTION_PASS_TO_USER; //reference line
      // add begin
     ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
     try{
      if (activityManager.getRunningTasks(1).get(0).topActivity.getPackageName().equals("your_special_package_name")){ 
       //Please reset the special package name.
       result |= ACTION_PASS_TO_USER;
       Xlog.d(TAG,"detect power key in special package, pass to user!")
      }
     }catch(NullPointerException e){
      Xlog.d(TAG,"ingore a NullPointerException ..");
     }
     //add end

    注意: 以上黄色背景部分的内容需要替换为您预期要处理 power key 的 app 对应的 package name.

    注意:  以上黄色背景部分的内容需要替换为您预期要处理 power key 的 app 对应的 package name .
  • 相关阅读:
    HTML5响应式导航
    草原图片大全
    草原psd素材
    仿堆糖图片自滚动瀑布流效果
    夏日户外风景PSD素材
    国画经典之梅花PSD素材
    更改VS的运行主窗体
    在VS中如何更换项目名称
    如何使用Visual Studio 2008(VS2008)编译C语言
    #region 私有字段
  • 原文地址:https://www.cnblogs.com/riasky/p/3507289.html
Copyright © 2011-2022 走看看