Android 开发:巧用 BroadcastReceiver 拦截手机屏幕休眠与唤醒
在Android开发中,我们可以使用BroadcastReceiver来拦截手机屏幕的休眠和唤醒事件。以下是一个简单的示例: 1. 首先,我们需要在AndroidManifest.xml文件中注册一个BroadcastReceiver: ```xml <receiver android:name=".ScreenLockReceiver"> <intent-filter> <action android:name="android.intent.action.SCREEN_ON" /> <action android:name="android.intent.action.SCREEN_OFF" /> </intent-filter> </receiver> ``` 2. 然后,我们需要创建一个BroadcastReceiver的类: ```java public class ScreenLockReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) { // 屏幕开启 Toast.makeText(context, "Screen on", Toast.LENGTH_SHORT).show(); } else if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) { // 屏幕关闭 Toast.makeText(context, "Screen off", Toast.LENGTH_SHORT).show(); } } } ``` 3. 我们需要在需要监听屏幕状态的Activity中启用BroadcastReceiver: ```java IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_SCREEN_ON); filter.addAction(Intent.ACTION_SCREEN_OFF); registerReceiver(new ScreenLockReceiver(), filter); ``` 这样,当手机屏幕开启或关闭时,我们的ScreenLockReceiver就会收到相应的Intent,然后执行相应的操作。 注意:在实际使用中,我们通常会在Application的onCreate方法中注册BroadcastReceiver,然后在onDestroy方法中取消注册,以避免内存泄漏。 ######[AI写代码神器 | 333点数解答 | 2023-11-07 22:41:13]
- RealtimeMonitoringFragment 代码片段:Android 实时监控功能核心代码剖析(字节豆包 | 30点数解答 | 2024-10-12 10:31:18)294
- 揭秘:Android实时监控片段(RealTimeMonitoringFragment)代码实现(GPT | 531点数解答 | 2024-10-12 10:32:25)269
- AIDE编写Xposed软件:参考代码教你拦截Smail类方法名(阿里通义 | 649点数解答 | 2024-10-12 00:15:48)305
- 智能电话窗口按钮1弹起:获取坐标与手机IMEI码待处理(GPT | 208点数解答 | 2024-09-12 16:36:31)353
- C++ 实现:计算拦截所有导弹最少所需的拦截系统数量(字节豆包 | 373点数解答 | 2026-02-02 17:20:23)28
- Android开发秘籍:BroadcastReceiver全流程解析与实用示例(阿里通义 | 319点数解答 | 2023-11-07 22:34:14)193
- 车载系统核心实体交互:UML时序图设计与PlantUML示例(字节豆包 | 216点数解答 | 2024-08-13 13:58:22)371
- 车载系统 UML 类图设计:涵盖 Car、Engine、娱乐系统等的完整类定义与关系解析 (字节豆包 | 760点数解答 | 2024-08-15 22:51:04)310
- "Design and Visualize UML Sequence Diagram: The Interactions in In - vehicle Systems"(字节豆包 | 115点数解答 | 2024-08-16 10:39:43)276
- 车载系统核心组件交互:VSCode+PlantUML 绘制 UML 时序图(字节豆包 | 263点数解答 | 2024-08-16 10:42:50)240
- HTML+jQuery 实现列表元素悬停动画效果:代码详解与注意事项(字节豆包 | 475点数解答 | 2024-12-19 14:58:05)369
- HTML+jQuery:打造动态导航栏动画效果及注意事项(字节豆包 | 495点数解答 | 2024-12-19 14:58:06)317