k***@hotmail.com
k***@hotmail.com
  • 发布:2017-03-29 09:31
  • 更新:2024-03-25 16:57
  • 阅读:45411

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

分类:Native.js

最近在弄一个安卓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()

20 关注 分享
3***@qq.com bxdsam 拜仁已伤 MR不靠谱 李致荣 ai666 言会咸 9***@qq.com 5***@qq.com flyer456 映月辉煌 老哥教教我 a***@gezhong.vip aiyide d***@163.com 百倍 左眼皮跳跳 x***@163.com 刘先生啊 A1

要回复文章请先登录注册

2***@qq.com

2***@qq.com

回复 b***@163.com :
如何解决的呀
2024-03-25 16:57
u***@guroads.com

u***@guroads.com

回复 b***@163.com :
请问如何解决呀
2024-02-20 10:45
b***@163.com

b***@163.com

我已经解决了 不用代码修改,设备上面操作就行 代码写APP就行
2024-01-26 12:01
5***@qq.com

5***@qq.com

没有用啊
2023-10-19 11:14
1***@qq.com

1***@qq.com

后来解决了吗
2023-09-06 17:26
8***@qq.com

8***@qq.com

安卓: 1加7, 我的需求是用户登录验证码功能, 手机息屏定时器不执行, 亮屏后才会执行, 运行此代码成功
2023-09-05 09:51
y_j_x

y_j_x

我用了,发现不可以
2023-08-01 16:07
2***@qq.com

2***@qq.com

回复 St23eh1i :
请问有办法动态申请忽略电池优化的权限吗
2023-06-28 10:26
冬日睛天

冬日睛天

没有用,息屏后,运行一段时间,相关的plus还都会停掉
2023-03-16 17:02
s***@suxuantech.cn

s***@suxuantech.cn

我也有这个需求,没有哪个大佬给写个详细的可行的案例吗?
2022-10-26 10:28