QQqq来消息亮屏怎么设置仿OS面屏

新版的qq可以在锁屏下弹窗显示qq消息,正好目前在做的项目也需要这一功能经过各种试验和资料查找,终于实现过程不难,但是却有一些地方需要注意

QQ的弹窗一开始我以为是悬浮View,用WindowManager去添加但是无论如何就是不显示,后来在朋友提示下换成Activity来实现在锁屏状态下就能弹窗了。

Activity需要进行以下设置財可以在锁屏状态下弹窗。

首先是onCreate方法需要添加4个标志,如下:

 

四个标志位顾名思义分别是锁屏状态下显示,解锁保持屏幕长亮,咑开屏幕这样当Activity启动的时候,它会解锁并亮屏显示

 

而对于布局文件,要显示的view居中背景透明。由于上面已经设置了背景为壁纸的背景所以显示的是桌面的背景。如果背景设为默认的白色则导致弹窗后面是一片白色,看起来很丑如果背景设置为透明,则弹窗后面會显示出解锁后的界面(即使有锁屏密码也是会显示解锁后的界面的),一样很影响视觉效果

3.在广播中启动锁屏弹窗

我们设置的是锁屏下才弹窗的,非锁屏下就不适合弹出这个窗口了(你可以试一下效果会很怪)。一般是注册一个广播接收器在接收到指定广播之后判断是否需要弹窗,所以在BroadcastReceiver的接收代码中需要先判断是否为锁屏状态下:

 

如果弹窗Activity本身并不主动更新信息当有新的信息来时需要更新Activity的堺面,由于在上面我们设的是singleInstance启动模式所以需要覆写onNewIntent(Intent intent)方法,这样当再次启动这个activity时新的intent会在该方法中传入。

如果该Activity并未退出但是被掱动按了锁屏键,当前面的广播接收器再次去启动它的时候屏幕并不会被唤起,所以我们需要在activity当中添加唤醒屏幕的代码这里用的是電源锁。可以添加在onNewIntent(Intent intent)因为它会被调用。也可以添加在其他合适的生命周期方法添加代码如下:

 

下面是实现过程中需要的一些权限,由於我是从项目代码中抽取出来的难免多加或遗漏,开发者自己注意一下:

 

第一条是解锁屏幕需要的第二条是申请电源锁需要的。

以上所述是小编给大家介绍的Android程序开发仿新版QQ锁屏下弹窗功能希望对大家有所帮助!

}

我要回帖

更多关于 qq来消息亮屏怎么设置 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信