Android通过广播实现灭屏和唤醒
来源:互联网 发布:阿里云谷学校 编辑:程序博客网 时间:2024/04/28 00:16
1、要实现灭屏和唤醒,需要在Manifest文件添加如下权限:
<!-- 屏幕唤醒 --> <uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- 屏幕熄灭 --> <user-permission android:name="android.permission.DEVICE_POWER" />
2、以下是封装的一个工具类,实现屏幕唤醒和熄灭
package testWakeAndLock;import android.content.Context;import android.os.PowerManager;import android.os.SystemClock;import com.example.testshellcmd.SharedApplication;public class WakeAndLock {Context context;PowerManager pm;PowerManager.WakeLock wakeLock;public WakeAndLock() {context = SharedApplication.context;pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);wakeLock = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP| PowerManager.SCREEN_DIM_WAKE_LOCK, "WakeAndLock");}/** * 唤醒屏幕 */public void screenOn() {wakeLock.acquire();android.util.Log.i("cxq", "screenOn");}/** * 熄灭屏幕 */public void screenOff() {pm.goToSleep(SystemClock.uptimeMillis());android.util.Log.i("cxq", "screenOff");}}
3、自定义广播,用于控制屏幕的唤醒和熄灭,这样做的好处是可以在其他APP中也实现屏幕的控制
package testWakeAndLock;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;public class ScreenControlBroadcast extends BroadcastReceiver {private String op = "on";@Overridepublic void onReceive(Context context, Intent intent) {// TODO Auto-generated method stubandroid.util.Log.i("cxq", "ScreenControlBroadcast");op = intent.getStringExtra("screen");WakeAndLock wakeAndLock = new WakeAndLock();if (op.equals("off")) {wakeAndLock.screenOff();} else {wakeAndLock.screenOn();}}}
4、在Manifest文件中注册广播
<receiver android:name="testWakeAndLock.ScreenControlBroadcast" > <intent-filter> <action android:name="testWakeAndLock.ScreenControlBroadcast" /> </intent-filter> </receiver>
5、怎么在其他APP中调用?
其实有很多中方式,但是本文介绍一种方便快捷的方法,直接通过adb命令调用 格式如下:
亮屏
am broadcast -a testWakeAndLock.ScreenControlBroadcast --es screen on
灭屏
am broadcast -a testWakeAndLock.ScreenControlBroadcast --es screen off
0 0
- Android通过广播实现灭屏和唤醒
- Android通过广播实现灭屏和亮屏
- android 监听手机屏幕唤醒和睡眠广播
- android 通过广播唤醒被杀死的app
- Android 相互唤醒 广播
- Android 监听屏幕唤醒和关闭的广播
- 广播和Service唤醒被杀死的android app
- Android 监听屏幕唤醒、关闭和解锁的广播
- Android 接受广播唤醒屏幕
- Android 通过广播实现全局的AlertDialog
- 【Android】安卓开发之通过本地广播实现子线程和UI线程的通信
- 被杀死的App能否通过广播唤醒
- 通过推送消息控制Android系统锁屏、唤醒
- Android通过广播事件实现退出程序功能。
- Android通过Broadcast(广播)实现开机自启动
- 文章标题android来电通过广播实现电话自动挂断
- Android实现闹钟,通过AlarmManager+BroadcastReceiver(广播)
- Android通过广播方式实现service与…
- POJ 3268:Silver Cow Party 求单点的来回最短路径
- UI设计之前的研究
- 系统升级成WIN10后,Android Studio的Terminal不能使用的解决方案
- 啊啊啊啊啊
- dedecms伪静态重写规则,和伪静态设置方法
- Android通过广播实现灭屏和唤醒
- 分布式系统 (大规模分布式系统原理解析和架构实践)
- SSAO
- ARM V8框架结构下的开发平台
- C++11 lambda 表达式解析
- Encapsulating Data
- 51nod 1444:破坏道路 广度优先搜索
- win7 excel DCOM配置 / 远程读excel
- Xcode .gitignore