锁屏管理的简单实现
如前面所说,我在方案公司工作,日常负责锁屏的开发。由于设计过很多锁屏,为了能够像小米手机中的主题切换中,实现百变锁屏功能。
再次我简单说下锁屏管理的思路,由于涉及到公司代码机密问题。有的地方我只会简单点到为止,估计细节如果读者有一定的功力的话,也能猜的出来时怎么实现的。
下面贴现锁屏管理的效果图片。
在锁屏管理中,出现了锁屏预览界面和锁屏的名称,这个类似于Launcher中的图标。我们就可以利用这样的思路来实现相同的功能。
首先在锁屏管理中,要能查询这个手机上面一共安装了多少个锁屏apk。类似于Launcher一样,需要查询出多少应用有图标。
Launcher中识别的条件如下所示。
/** * 屏幕变亮的广播 */private BroadcastReceiver screenReceiver = new BroadcastReceiver() {public void onReceive(Context context, Intent intent) {if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF) || intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {startActivity(lockIntent);}}};
最后涉及到锁屏指定以及锁屏数据保存问题。根据上面代码可以看出,所有的锁屏最主要的需要保存的数据有package以及activity的路径。这样我们就实现代码了。
由于保存的数据比较少,且是键值对的形式,个人在实现的时候,刚刚开始使用的是cottentprovider,但是这样保存比较麻烦,同时获取数据也是比较麻烦的,最后就使用了Android内置的sharepreference来保存,简单而且使用。
好了,就简单介绍到这边,由于机密问题(当然这个也不是什么大秘密),说的比较简单。
如有疑问,欢迎前来讨教。