我创建了一个方法来发送SMS
并在函数callfunction();
下调用
我想在用户按下四次电源按钮时调用该功能,不应该要求应用程序处于启动状态。
答案 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商店找到任何具有这种功能的应用程序,以便开始那里受人尊敬的工作。 但是你会按下电源按钮一次触发。