繁体   English   中英

如何使WakeLock弹出式应用程序成为前台

[英]How do you make WakeLock pop app to foreground

我希望我的应用程序在后台运行或在手机进入睡眠状态后运行,当您在某个纬度和经度附近时,我的应用程序将立即弹出到前台。 无论是从睡眠状态还是其他应用程序处于前台状态,此功能都必须有效。 我正在使用服务和WakeLock。 我非常确定该服务正在运行,但是我不知道如何检查,因为如果调试器不在前驱中,则调试器将不返回任何内容。 如果它在工作,则我的WakeLock无法正常工作。

public abstract class WakeLocker {

private static PowerManager.WakeLock fullWakeLock;
private static PowerManager.WakeLock partialWakeLock;
private static PowerManager pm;

public static void acquire(Context context) {
    if (fullWakeLock != null) fullWakeLock.release();
    if (partialWakeLock != null) partialWakeLock.release();

    pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
    fullWakeLock = pm.newWakeLock((PowerManager.SCREEN_BRIGHT_WAKE_LOCK |
            PowerManager.FULL_WAKE_LOCK |
            PowerManager.ACQUIRE_CAUSES_WAKEUP), "Loneworker - FULL WAKE LOCK");
    partialWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Loneworker - PARTIAL WAKE LOCK");
    partialWakeLock.acquire();
}

public static void release() {
    if (fullWakeLock != null) {
        fullWakeLock.release();
        fullWakeLock = null;
    }
    if (partialWakeLock != null) {
        partialWakeLock.release();
        partialWakeLock = null;
    }
}

public static void wakeDevice(Context context) {
        fullWakeLock.acquire();

        //KeyguardManager keyguardManager = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
        //KeyguardManager.KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("TAG");
        //keyguardLock.disableKeyguard();

}

public static boolean fullWakeLockActive() {
   return fullWakeLock != null;
}

}

在这里获取了fullWakeLock

if (makeUseOfNewLocation(location) < 20) {
                if (WakeLocker.fullWakeLockActive())
                    WakeLocker.wakeDevice(allert.getMA());
                if (callProgress.isOffHook()) {
                    new BlinkBack(allert.getMA());
                }

唤醒锁本身无法将设备从睡眠状态唤醒,也无法使您的设备进入前台。 您将必须使用位置服务或警报来唤醒设备,然后使用唤醒锁使设备保持唤醒状态,并将应用程序的UI组件触发到前台。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM