博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 屏幕保护开发思路
阅读量:7146 次
发布时间:2019-06-29

本文共 1433 字,大约阅读时间需要 4 分钟。

 代码的思路大致是这样的:首先有一个Service,当然这个Service在主Activity中启动,在Service中注册一个receiver,该receiver 监听系统的Screen Off(即屏幕关闭) 事件,当然在Service中要关闭原有的屏保(关闭系统屏保需要再配置文件中获得权限)。然后在onReceive方法中启动自己的屏保Activity。有一点需要注意到得是Screen off 事件不能在AndroidManifest.xml配置文件中注册。

       Service:
       这两个变量主要是为了关闭系统原有屏保,下面将用到

KeyguardManager mKeyguardManager=null; private KeyguardLock mKeyguardLock=null;

关闭系统屏保:

mKeyguardManager= (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);mKeyguardLock= mKeyguardManager.newKeyguardLock("");mKeyguardLock.disableKeyguard();

注册receiver

BroadcastReceiver mMasterResetReciever= new BroadcastReceiver() {public void onReceive(Context context, Intent intent){ try{Intent i = new Intent();i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);i.setClass(context, MyScreenSaver.class);context.startActivity(i);//finish();}catch(Exception e){Log.i("Output:", e.toString());} }};registerReceiver(mMasterResetReciever, new IntentFilter(Intent.ACTION_SCREEN_OFF));

 

可以看到在receiveronReceive()函数中启动一个屏保Activity

       之后我们需要再配置文件中申请权限:
Java代码:

Activity全屏显示的方法:

Java代码:
requestWindowFeature(Window.FEATURE_NO_TITLE);getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);setContentView(R.layout.main);

 

注意:

       setContentView(R.layout.main);全屏代码之后,否则无效
       任意键关闭屏保Activity可以通过重写onKeyDown()函数来实现:
Java代码:

@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event){super.onKeyDown(keyCode, event);finish();return true;}

 

 

 

 

 

 

 

 

 
 
 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载地址:http://gngrl.baihongyu.com/

你可能感兴趣的文章
在数据分析、挖掘方面,有哪些好书值得推荐?
查看>>
ios 开发 ping
查看>>
pytorch 移动端框架 thnets 附c示例代码
查看>>
python 实现计算器功能 输入字符串,输出相应结果
查看>>
find命令之exec
查看>>
linux性能优化
查看>>
MYSQL连接字符值的语句
查看>>
各种面试题2 重复
查看>>
SUSE10 SP2/SP3 无规律死机故障解决
查看>>
linux stat 命令查看文件信息
查看>>
JavaScript 内置对象
查看>>
emacs下color-theme.el的正确配置方法
查看>>
获取被选择的radio的值
查看>>
ExtJS错误解决 Cannot read property 'on' of undefined
查看>>
VS2017 WinFrom打包设置与教程
查看>>
bzoj1066 [SCOI2007]蜥蜴
查看>>
KVO的底层实现
查看>>
【软件工程实践】第四次作业:阅读《构建之法》1-5章
查看>>
vss安装注意点
查看>>
【文文殿下】APIO2019游记
查看>>