android 程序运行,Android如何保持程序一直运行
在正常情况下,Android系统会让程序和服务进入休眠状态以节约电量使用。然而在开发Android程序时,有时候在程序运行的时候,不能让系统休眠,否则有一些运行会停止,因此我们需要设置禁止休眠。
Android中设置禁止休眠有两种方式:
1.
在View中设置FLAG_KEEP_SCREEN_ON。
实现上可以在代码中设置,也可以在XML文件中设置。
代码如下所示:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
或者配置文件对该View设置:
android:layout_height="fill_parent"
android:keepScreenOn="true" android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
这样可以保持当前View所在的Activity一直在活动状态运行,而且屏幕是高亮的。非常耗电!!
2.通过PowerManager来精细控制。
首先在Manifest.xml文件里面用user-permission声明
android:name="android.permission.WAKE_LOCK"/>
android:name="android.permission.DEVICE_POWER"
/>
之后通过PowerManager服务来获取电量控制锁:
private void
acquireWakeLock()
{ if (wakeLock == null)
{ PowerManager
pm = (PowerManager)
getSystemService(Context.POWER_SERVICE); wakeLock =
pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
this.getClass().getCanonicalName()); wakeLock.acquire(); } }
关键代码在newWakeLock的第一个参数,可以有:
*PARTIAL_WAKE_LOCK参数和其他不同,如果选择了这个参数,那即时用户按了关机键,CPU仍保持运行;而其他参数在用户按了关机键之后,CPU即停止运行,如果不按关机键,系统在过一段时间休眠后,CPU仍保持运行。
在程序退出时,必须释放WakeLock:
private void releaseWakeLock()
{ if (wakeLock != null
&& wakeLock.isHeld())
{ wakeLock.release(); wakeLock =
null; }
}
这两个方法分别在OnCreate/OnDestroy或者OnResume/OnPause中调用。
android 程序运行,Android如何保持程序一直运行相关推荐
- win10 android 登录,Microsoft现在允许您在Win10中运行Android应用程序
8月7日消息:昨天,微软宣布了一项新功能,允许Win10用户在Windows 10中直接启动Android应用程序. 只有在选择三星Galaxy设备并允许Android将应用程序流到Windows 1 ...
- android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序
android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序 在应用里使用了后台服务,并且在通知栏推送了消息,希望点击这个消息回到activity, ...
- 微软程序在Android上跑,想在Win 10上运行Android应用?这类手机用户已经可以尝鲜...
在Win 10上运行Android应用?这听起来有些异想天开,可实实在在的需求却在这里,毕竟微软Windows体系内的无缝切换,离开了手机平台始终有些怪怪的,自然,微软也不会甘心放弃,最好的办法,莫过 ...
- 【Android 逆向】Android 逆向通用工具开发 ( Windows 平台运行的控制台应用程序类型 | 编译 Windows 平台运行的 Android 逆向程序 )
文章目录 一.Windows 平台运行的控制台应用程序类型 二.编译 Windows 平台运行的 Android 逆向程序 一.Windows 平台运行的控制台应用程序类型 hacktool 工程的类 ...
- 【Android 逆向】Android 逆向通用工具开发 ( Android 平台运行的 cmd 程序类型 | Android 平台运行的 cmd 程序编译选项 | 编译 cmd 可执行程序 )
文章目录 一.Android 平台运行的 cmd 程序类型 二.Android 平台运行的 cmd 程序编译选项 三.编译 Android 平台的 cmd 可执行程序 一.Android 平台运行的 ...
- 应用程序文件Android安全分析挑战:运行时篡改Dalvik字节码
发一下牢骚和主题无关: 本文章由Jack_Jia编写,转载请注明出处. 文章接链:http://blog.csdn.net/jiazhijun/article/details/8833710 作者:J ...
- eclipse运行android程序,总是启动一个新的AVD模拟器,解决办法
问题描述: 明明有一个AVD在运行,但是在运行Android程序的时候,却会重新启动一个AVD,再次运行,再次启动新的,给出的提示为:No active compatible AVD's or dev ...
- android中虚拟程序停止,为什么我的在虚拟机运行后出现应用程序停止运行
源自:9-2 使用ToggleButton按钮实现开关效果 为什么我的在虚拟机运行后出现应用程序停止运行 package com.example.sss; import com.example.and ...
- Android中实现“程序前后台切换效果”和“返回正在运行的程序,而不是一个新Activity”...
ANDROID 一.首先是返回正在运行的程序,而不是新的ACTIVITY. 多网上关于 通知栏的例子都是打开一个新的Activity,代码也很多. 根据那些代码如下 public void s ...
- android phone win10下载,微软Your Phone新功能: 可在Win 10 PC 上运行 Android 应用程序...
今年 8 月,微软发布了一项 Your Phone 重大功能,可以在 Windows 10 PC 上运行 Android 应用程序.该功能主要通过 Your Phone 应用将 Android 应用投 ...
最新文章
- Android控件系统(三)——Window与WindowMananger
- BZOJ 3101: N皇后 构造
- 微型计算机物理地址转换,微型计算机及接口技术2015年4月真题试题(04732)
- 数据挖掘开源项目立项
- Qt工作笔记-跑马灯效果
- linux复制duo文件,Linux打印目录下多个文件
- new image()
- mysqli_fetch_row,mysqli_fetch_array,mysqli_fetch_assoc区别
- 城市风云儿的装备体系
- treeset 是有序吗_TreeSet如何实现有序?
- 黄聪:JQUERY的datatables插件,Date range filter时间段筛选功能
- 定位需求 整理思路 组装函数
- iOS 关于本地持久化存储的探讨
- 联想服务器改win7系统教程,联想台式机10代cpu改win7系统详细教程
- 毕业设计-校园招聘系统
- linux kernel的中断子系统之(三):IRQ number和中断描述符
- JAVA判断是不是回文_Java 基础编程练习(判断是否为回文)
- Review of Vehicle Recognition Technology - 车辆识别技术综述
- linux视频播放器mplayer,ubuntu 视频播放器mplayer
- 日常练习+学习之BUUCTF old-fashion 1
热门文章
- Git 进行分布式管理的入门
- Firt step(study java)
- Velodyne VLP16激光雷达的使用(非常详细)
- 【论文阅读】Locally Adaptive Color Correction for Underwater Image Dehazing and Matching
- termux 安装mysql 并运行b站爬虫入库 安卓11(手机上跑定时python爬虫)
- shiro中anon配置不生效
- 视频教程-Python编程的术与道:Python语言入门-Python
- 认识压电式雨量传感器的工作原理及MODBUS-RTU RS485通信协议
- xp系统简单tcpip服务器,Win XP系统下添加打印机的方式手工添加TCP/IP端口
- Swift-Tips之rounded(_:)