您的位置:首页 > 移动开发 > Android开发

android锁屏状态下, 新消息唤醒屏幕,并跳转到指定页面

2016-08-22 15:44 2511 查看
最近在做一个项目,有个功能,就和QQ电话差不多,我这边手机锁屏状态,当QQ电话过来时,立刻唤醒屏幕,并显示QQ来电界面,我的是当设备端有事件发生时通知app端弹出界面,实时显示设备端信息。

最核心的代码就是新消息的推送通知处理,这里不过多陈述,就是app绑定服务 ,在服务里开启一条线程,实时监测 状态,这里我没用第三方推送平台,因为感觉很少的代码量,没必要吧(其实我还没用过第三方那个推送平台)。

在这重点说下当处于锁屏状态下,新消息唤醒屏幕,并显示指定Activity 界面,因为是新消息到来直接进入某个界面 所以没通知栏的标题啊,内容啊,图标啊,都不需要,直接在监测到新消息状态处用Intent  实现 跳转 到 指定界面 ,

messageNotification = new  Notification.Builder(getApplication());
messageNotification.setDefaults(Notification.DEFAULT_ALL);
messageNotification.setAutoCancel(true);
noti  = messageNotification.build();
messageNotificatioManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
cancelNotification();
messageNotificatioManager.notify(messageNotificationID,noti);

Intent intent = new Intent();
intent.setClass(getApplicationContext(),跳转指定Activity的.class);
intent.putExtra();
intent.putExtra();  // 需要时 传入相应的参数
intent.putExtra();
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
startActivity(intent);


在指定的Activity 的Oncreate()方法处 加入

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

getWindow().addFlags(

WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD|

WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON|

WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

setContentView(R.layout.******);

 这样 就可实现  和 QQ 电话 一样 锁屏状态下   直接 弹出 指定界面的 信息
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: