在播放器app中由于需要用后台service 来播放音乐,所以一旦进入休眠状态时,就有可能被杀掉进程
所以需要让service 一直运行不被杀掉进程

在android 中WakeLock的相关 API可以确保应用程序中后台任务一直运行,使应用程序有能力控制APP的休眠状态。

WakeLock锁机制

当应用申请了WakeLock权限调用相关api后,WakeLock会阻止APP挂起,系统无法进入休眠,即使在灭屏的状态下,应用要执行的任务依然不会被打断。当所有WakeLock被释放(解锁/超时),系统会挂起启动休眠机制进入休眠。

首选申请权限:

<!--WakeLock需要的权限-->
<uses-permission android:name="android.permission.WAKE_LOCK"/>

WakeLock的分类和Flag

1.分类

PARTIAL_WAKE_LOCK: 灭屏,关闭键盘背光的情况下,CPU依然保持运行。
PROXIMITY_SCREEN_OFF_WAKE_LOCK: 基于距离感应器熄灭屏幕。最典型的运用场景是我们贴近耳朵打电话时

Android app后台运行休眠仍然可以运行的方法(确保一直运行)相关推荐

  1. Android app 后台被杀恢复

    android 模拟应用因内存不足被后台杀死命令 https://www.jianshu.com/p/effb4546b9aa adb shell am kill-all  应用通过home键已经停留 ...

  2. android app后台收不到消息,不打开智能关怀App收不到手表发的消息

    不打开智能关怀App手机收不到手表发的聊天消息.进出安全区域.开关机.视频通话.奖励等消息通知.一般是由于智能关怀App 的后台保护设置及消息通知权限设置未正确设置导致的,以下为常见机型智能关怀App ...

  3. 视频播放的方法Android,详解Android App中使用VideoView来实现视频播放的方法

    通过VideoView播放视频的步骤: 1.在界面布局文件中定义VideoView组件,或在程序中创建VideoView组件 2.调用VideoView的如下两个方法来加载指定的视频 (1)setVi ...

  4. Android App后台、锁屏运行,百度定位不实时定位。未解问题,求大神指教?

    细节描述: 功能需要实现:App 一直给后台上传经纬度.(正常运行,后台运行,锁屏运行) 问题描述:红米Note 5A. 在A点,App 锁屏,走到B 点,然而在A---B之间一直上传的是A点锁屏前的 ...

  5. Android app本地图片转换成Drawable对象的方法

    app开发中把app的res下drawable的图片转换成drawable对象 也是常有的功能 下面就记录下两种转换的方法 第一种 方法 借助ContextCompat 转换方法 Drawable d ...

  6. Android APP 保持屏幕常亮的三种方法

    方法一:持有WakeLock 首先获取WakeLock相关权限: <uses-permission android:name="android.permission.WAKE_LOCK ...

  7. Android app应用开发高级进阶系列专栏解读

    1.前言 在从事android app开发的几年里,最开始接触做android 都是从app开发开始做的,在做app的这几年中把积累下来的做的一些功能,都整理出来了作为自己的技术资料,在以后开发类似的 ...

  8. 使用javah生成.h文件, 出现无法访问android.app,Activity的错误的解决

    在工程ndk22/bin/classes中 运行javah  com.cn.ndk22.Ndk22.Activity ,出现了.h文件 我在bin/classes目录中 ,就是无法访问, : 错误:无 ...

  9. 新建Application 报错android.app.Application cannot be cast

    我在开发APP的时候重新使用了一个类,继承了android.app.Application.但是在运行的时候提示java.lang.ClassCastException: android.app.Ap ...

最新文章

  1. c语言编写二次方程求根程序,一元二次方程求解程序完整代码
  2. Java加载sklearn训练好的模型进行预测(无法搞定)
  3. python将dataframe写入csv_Pandas dataframe数据写入文件和数据库
  4. Redis持久化(转载)
  5. pycharm console日志如何输出到txt_日志记录——logging模块
  6. linux “命令行自动补全”功能用命令
  7. 特斯拉涨价:Model 3价格上调1万元 Model Y上调2.1万
  8. 服务器重置密码后无法启动不了怎么办,Windows Server 2008 R2 忘记密码的处理方法...
  9. DRAM知识整理系列(三):部分时序参数整理
  10. 数据分析在网络营销中的意义有哪些
  11. 程序猿生存指南-7 相亲之路(下)
  12. 教你如何做一个三角形
  13. 主板知识详解:主板结构
  14. eclipse 编译Android,如何用eclipse编写android程序
  15. 苹果手机怎么投屏到电脑,手机投屏电脑的方法
  16. CIC-IDS-2018数据集分析笔记
  17. matlab编写扫雷,【matlab编程】Matlab版扫雷
  18. J2EE Development without EJB
  19. JSP基础教程:熟悉JSP服务器
  20. 计算并输出sin(x)、cos(x)、|x|、ex、xy的值

热门文章

  1. linux下java程序乱码,解决linux下java程序(例如applet)中文乱码问题
  2. windows不是正版_你的电脑win10系统是正版吗?教你四步测试
  3. DZ先生怪谈国标之云台控制流程
  4. 两个鸡蛋100层楼(DP)
  5. React H5 使用div自定义简单富文本编辑器
  6. 关于组件之间使用provide和inject传值
  7. 【报错】paddle相关报错和处理方法
  8. 【技术干货】跨境茶话会第4期丨响应式编程的应用
  9. 【Swagger】 SrpingBoot整合Swagger
  10. YoloV3学习笔记(一)—— 打标签