如何在Android中获知屏幕打开或者关闭
来源:互联网 发布:js将二进制流转成文件 编辑:程序博客网 时间:2024/05/16 12:50
在有些Android 应用中需要在屏幕打开或者关闭的时候进行一些处理,下面介绍一个在android应用程序中捕获屏幕打开或者关闭动作的方法:
首先创建ScreenReceiver 类,该类继承自BroadcastReceiver ,并实现其 onReceive 方法,在该类当中可判断屏幕事件的类型,并添加相关的代码。
public class ScreenReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
// do whatever you need to do here
} else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
// and do whatever you need to do here
}
}
}
然后在Activity中注册 BroadcastReceiver 并设置其IntenFilter
public class ExampleActivity extends Activity {
@Override
protected void onCreate() {
// initialize receiver
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
BroadcastReceiver mReceiver = new ScreenReceiver();
registerReceiver(mReceiver, filter);
// your code
}
// your code
}
如果需要在service当中捕获屏幕打开或者关闭事件,可参照以下方法:
public class ScreenReceiver extends BroadcastReceiver {
private boolean screenOff;
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
screenOff = true;
} else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
screenOff = false;
}
Intent i = new Intent(context, UpdateService.class);
i.putExtra("screen_state", screenOff);
context.startService(i);
}
}
对应的 service样例代码如下:
public static class UpdateService extends Service {
@Override
public void onCreate() {
super.onCreate();
// register receiver that handles screen on and screen off logic
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
BroadcastReceiver mReceiver = new ScreenReceiver();
registerReceiver(mReceiver, filter);
}
@Override
public void onStart(Intent intent, int startId) {
boolean screenOn = intent.getBooleanExtra("screen_state", false);
if (!screenOn) {
// your code
} else {
// your code
}
}
}
0 0
- 如何在Android中获知屏幕打开或者关闭
- Android 在程序中关闭和打开屏幕
- Android 在程序中关闭和打开屏幕
- android 如何在activity中控制屏幕点亮与关闭
- android如何在activity中控制屏幕点亮与关闭
- Android如何在activity中控制屏幕点亮与关闭
- 控制屏幕触摸功能打开或者关闭
- Android打开或者关闭GPS
- Android中如何打开或关闭GPS
- 如何获知Android的版本号
- 如何在activity中控制屏幕点亮与关闭
- 如何在activity中控制屏幕点亮与关闭
- 如何在activity中控制屏幕点亮与关闭
- [FAQ04299]如何在activity中控制屏幕点亮与关闭
- 如何在activity中控制屏幕点亮与关闭
- 【Android】如何调节屏幕亮度,关闭屏幕
- 如何在 Windows XP 中关闭和打开“系统还原”
- 在xcode 项目 中针对 单个文件关闭或者打开ARC 开关
- Tcp/Ip网络要点二(简易客户端编写)
- 对比C++理解Java函数传参数的方式
- TYVJ 通向聚会的道路
- Oracle行转列函数WMSYS.WM_CONCAT() 和 Listagg()
- jQuery页面滚动图片等元素动态加载实现
- 如何在Android中获知屏幕打开或者关闭
- tornado 服务器端受到get/post请求时,发生事情的流程
- VBA实现 Outlook 2010 自动密件抄送
- datatables参数解释
- ZooKeeper典型应用场景一览
- java输入输出流详解
- 为应用指定多个sruts文件
- 【设计模式】迭代器模式
- android textView特效