首页 > 代码库 > Android锁屏或灭屏状态下,快速按两次音量下键实现抓拍功能(1.2Framework层使用startService形式实现)
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);
intent.setComponent(component);
mContext.startService(intent);
}
lastTime=System.currentTimeMillis();
}
}
......
}
Android锁屏或灭屏状态下,快速按两次音量下键实现抓拍功能(1.2Framework层使用startService形式实现)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。