zoukankan      html  css  js  c++  java
  • Android锁屏或灭屏状态下,快速按两次音量下键实现抓拍功能(1.2Framework层使用startService形式实现)

        如前一篇博文所分析,我们可以使用广播的形式在快速按下两次音量下键的时候发出广播,以方便客户端进行捕捉。既然有两种方式可以实现该Issue那么哪种方式是首选呢?
        我个人推荐使用启动服务的方式,这样的话可以避免多次连续按键导致重复发送广播,而使用服务不会重复启动服务。

    具体实现方式如下:

    /framework/base/policy/src/com/android/policy/impl/PhoneWindowManager.java

    private long lastTime=0;

    public int interceptKeybeforeQueueing(KeyEvent event,int policyFlags,boolean isScreenOn){
          if(event.getKeyCode()==KeyEvent.KEYCODE_VOLUME_DOWN && event.isDwon()){
              if(isKeyguardLocked()){
                  if((System.currentTimeMillis()-lastTime) < 800){
                      Intent intent=new Intent();
                      ComponentName component=new ComponentName("com.xxx.xxx", "com.xxx.xxx.SnapshotService");
      intent.setComponent(component);
                      mContext.startService(intent);
                 }
              lastTime=System.currentTimeMillis();
              }
          }
    ......
    }
  • 相关阅读:
    “sockaddr”: “struct”类型重定义的错误的解决办法《转》
    2019年车险
    tinylib
    命令行利用ffmpeg实现rtmp推流《转》
    Inno setup 判断系统32位还是64位
    vs2015编译OBS-Studio21.1.12
    啃OBS源码-界面汉字
    百年孤独人物关系1
    windows命令行查看文件MD5
    python 玩爬虫安装了一大堆第三方库
  • 原文地址:https://www.cnblogs.com/bill-technology/p/4130798.html
Copyright © 2011-2022 走看看