软件控制屏幕亮灭
发布日期:2021-06-29 15:22:00
浏览次数:3
分类:技术文章
本文共 2708 字,大约阅读时间需要 9 分钟。
package com.example.screen_off;import java.util.Timer;import java.util.TimerTask;import android.app.Activity;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.os.Bundle;import android.os.PowerManager;import android.os.SystemClock;import android.util.Log;import android.view.Menu;public class MainActivity extends Activity { private Timer timer; private TimerTask timerTask = new TimerTask() { @Override public void run() { // TODO Auto-generated method stub if (isScreenOn) { if (0 >= curr_time) { PM.goToSleep(SystemClock.uptimeMillis()); Log.d("lxmlxm", "mScreenOffReceiver-->" + "dao"); } else { curr_time--; Log.d("lxmlxm", "mScreenOffReceiver-->" + curr_time); } } } };; private PowerManager PM; private int curr_time = 5; private boolean isScreenOn = true; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); registerComponent(); timer = new Timer(); PM = (PowerManager) getSystemService(POWER_SERVICE); timerTask = new TimerTask() { @Override public void run() { // TODO Auto-generated method stub if (isScreenOn) { if (0 >= curr_time) { PM.goToSleep(SystemClock.uptimeMillis()); Log.d("lxmlxm", "mScreenOffReceiver-->" + "dao"); } else { curr_time--; Log.d("lxmlxm", "mScreenOffReceiver-->" + curr_time); } } } }; if (timer == null) { timer = new Timer(); } timer.schedule(timerTask, 1000, 1000); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } public void registerComponent() { // TODO Auto-generated method stub // if(DBG) Log.d(TAG, "registerComponent()"); IntentFilter mScreenOnOrOffFilter = new IntentFilter(); mScreenOnOrOffFilter.addAction("android.intent.action.SCREEN_ON"); mScreenOnOrOffFilter.addAction("android.intent.action.SCREEN_OFF"); // mScreenOnOrOffFilter.addAction(StarLockView.SHOW_MUSIC); registerReceiver(mScreenOnOrOffReceiver, mScreenOnOrOffFilter); } // 监听来自用户按Power键点亮点暗屏幕的广播 private BroadcastReceiver mScreenOnOrOffReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { Log.d("lxmlxm", "mScreenOffReceiver-->" + intent.getAction()); if (intent.getAction().equals("android.intent.action.SCREEN_ON")) { isScreenOn = true; } else if (intent.getAction().equals( "android.intent.action.SCREEN_OFF")) { // timer.cancel(); isScreenOn = false; curr_time = 5; } } };}
转载地址:https://codegg.blog.csdn.net/article/details/21404509 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月21日 09时28分42秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
phpstudy https
2019-04-29
Linux下EasyPanel版本安装及升级
2019-04-29
raspberry pi(树莓派) + easycap d60 视频采集
2019-04-29
WebRTC
2019-04-29
rfc5766-turn-server NAT
2019-04-29
webrtc详细教程
2019-04-29
Android IOS WebRTC 音视频开发总结
2019-04-29
报表图表样式
2019-04-29
android模板图例
2019-04-29
树莓派网线直连
2019-04-29
复合材料培训(I第七期)
2019-04-29
复合材料生活中的应用
2019-04-29
ABAQUS复合材料(适合小白)
2019-04-29
ABAQUS高级案例解析
2019-04-29
人工智能药物研发
2019-04-29
【超级干货+福利】AIDD最全面的学习教程
2019-04-29
最新通知:AIDD与网络药理学资料大全
2019-04-29
Lammps分子动力学与第一性原理材料模拟及催化
2019-04-29
实习生小白的日常
2019-04-29