美文网首页
uniapp app如何在手机关屏后仍能正常运行、接收信息

uniapp app如何在手机关屏后仍能正常运行、接收信息

作者: 追逐繁星的阿忠 | 来源:发表于2020-11-01 16:25 被阅读0次

    最近在弄一个安卓APP,需要每隔几秒钟上报一次GPS位置,但发现当手机休眠后(屏幕熄灭后)APP不再运行,因此也不能上报GPS位置。

    借助安卓的WakeLock机制,我们可以实现让APP在后台运行。实现代码如下:

    
    var g_wakelock = null;  
    //允许程序后台运行,以持续获取GPS位置  
    function wakeLock() {  
        //Android  
        var main = plus.android.runtimeMainActivity();  
        var Context = plus.android.importClass("android.content.Context");  
        var PowerManager = plus.android.importClass("android.os.PowerManager");  
        var pm = main.getSystemService(Context.POWER_SERVICE);  
        g_wakelock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "ANY_NAME");  
        g_wakelock.acquire();  
    }  
    
    //结束程序后台运行  
    function releaseWakeLock () {  
        if(g_wakelock != null && g_wakelock.isHeld()) {  
            g_wakelock.release();  
            g_wakelock = null;  
        }  
    
    
    

    在需要允许后台运行的时候调用wakeLock(),在希望停止的时候调用releaseWakeLock()

    原文地址:https://ask.dcloud.net.cn/article/1273

    https://ask.dcloud.net.cn/article/1273

    相关文章

      网友评论

          本文标题:uniapp app如何在手机关屏后仍能正常运行、接收信息

          本文链接:https://www.haomeiwen.com/subject/gsfuvktx.html