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();
          }
      }
......
}
相關文章
相關標籤/搜索