快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

Android中怎么实现一个屏保程序

本篇文章给大家分享的是有关Android中怎么实现一个屏保程序,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

仁布ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!

1、注册一个BroadcastReceiver,用于接收ACTION_SCREEN_OFF事件。当接收到这个事件时,打开自定义的屏保画面。以下代码为了测试方便,放在MainActivity.java中,也可以根据需要,把代码放入service中。

registerReceiver(mMasterResetReciever,newIntentFilter(Intent.ACTION_SCREEN_OFF));         BroadcastReceiver mMasterResetReciever=newBroadcastReceiver() {         publicvoidonReceive(Context context, Intent intent){             try{                 Intent i =newIntent();                 i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);                 i.setClass(context, ScreenSaverActivity.class);                 context.startActivity(i);             }catch(Exception e){                 Log.i("Output:", e.toString());             }         }     };

2、完成这一步时,虽然屏幕关闭时,屏保画面被显示,但由于接收的是ACTION_SCREEN_OFF事件,所以屏幕已经变黑了,这个时候就需要强制点亮屏幕。

首先,在AndroidManifest.xml中加上permission 权限:

以下代码在ScreenSaverActivity.onCreate中

PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE);     mWakeLock = pm.newWakeLock(         PowerManager.ACQUIRE_CAUSES_WAKEUP |         PowerManager.SCREEN_DIM_WAKE_LOCK |         PowerManager.ON_AFTER_RELEASE,"SimpleTimer");

然后在屏保画面显示时,点亮屏幕。在ScreenSaverActivity.onResume中加入

mWakeLock.acquire();

为了能够在退出屏保时,能够让屏幕可以关闭,我们必须释放WakeLock.故在ScreenSaverActivity.onPause中加入

mWakeLock.acquire();

注意,必须放在onResume中,如放在别的地方。会导致程序无法再次进入屏保,具体原因不详。由于手头只有一个手机,不能进行广泛的测试。

3. 完成第二步后,一般情况下大功告成。按键就可以返回程序。但有时候需要点击屏幕就返回系统。这个时候会发现,无论怎么样点击屏幕,系统都不会有响应,因为此时屏幕已经被锁定。因此,要实现这个功能,在打开屏保时,需要关键屏幕的锁定功能。

首先,在AndroidManifest.xml中加上permission 权限:

再次,把以下这段代码加入合适的地方。只要启动屏保时能够被调用到

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

当然也可以通过以下代码开启屏幕锁定功能。

mKeyguardLock.reenableKeyguard();

以上就是Android中怎么实现一个屏保程序,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。


网站标题:Android中怎么实现一个屏保程序
分享URL:http://6mz.cn/article/iipdci.html

其他资讯