4次电源按钮按下呼叫功能

时间:2017-12-13 12:56:03

标签: android

我创建了一个方法来发送SMS并在函数callfunction();下调用 我想在用户按下四次电源按钮时调用该功能,不应该要求应用程序处于启动状态。

2 个答案:

答案 0 :(得分:2)

尝试使用Power Manager

  

PARTIAL_WAKE_LOCK

     

在API级别1中添加   int PARTIAL_WAKE_LOCK   唤醒锁定级别:确保CPU正在运行;屏幕和键盘背光将被允许熄灭。

     

如果用户按下电源按钮,屏幕将关闭,但CPU将保持打开状态,直到所有部分唤醒锁定都被释放。

     

常数值:1(0x00000001)

示例:

//Initialize the Power Manager
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);

 //Create a PARTIAL_WAKE_LOCK
 //This will keep the cpu running in the Background, so that the function will be called on the desired Time
 PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag");

//Check if the WackLock is held (may throw erro if you try to acquire twice)
//TRUE --> Do nothing, all good
//FALSE --> Acquire the WakeLock
 if(!wl.isHeld()){
    wl.acquire();
 }

//*****
//You code to handel the Powerbutton comes here
//*****

//If the Repeating task is not active, release the Lock

//Check if the WackLock is held (may throw error if you try to release a none acquired Lock)
//TRUE --> Release Lock
//FALSE --> Do nothing, all good
 if(wl.isHeld()){
    wl.release();
 }

要处理电源按钮,请查看此帖子: How to hook into the Power button in Android?

这只是一个假设,如果它仍然不起作用,你可以发布项目的一些日志或更多代码片段:)

答案 1 :(得分:0)

我认为无法跟踪按下电源按钮4次并启动预期的功能。因为我没有在Play商店找到任何具有这种功能的应用程序,以便开始那里受人尊敬的工作。 但是你会按下电源按钮一次触发。