美文网首页
创建一个可以类似微信电话的界面

创建一个可以类似微信电话的界面

作者: 4669023669c4 | 来源:发表于2017-03-23 17:17 被阅读0次

    需要一个Activity,可以在任何状态弹出来。应用场景一般是: 类似微信来电,闹钟提醒等场景。

    1. 在Activity里面的 onCreate()里面添加下面的标识
    getWindow().addFlags(
    WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
    | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
    | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
    | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
    |WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON);
    
    1. 监听消息,收到消息的时候启动Activity
    Intent it =newIntent(context, Activity.class);
    it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  //必须要加上这一行,否则不能启动
    context.startActivity(it);
    

    因为是在后台监控消息,这时候context一般是application context,如果不加 “FLAG_ACTIVITY_NEW_TASK”,会导致无法启动Activity

    好嘞,这个Activity就可以在任何界面弹出了。一般可以用在类是微信来电, 闹钟提醒等场景。

    这里遗留了两个问题:以后单独开文章说明

    • 为什么要加“FLAG_ACTIVITY_NEW_TASK”?
    • 如何在后台保活应用不被杀死?

    相关文章

      网友评论

          本文标题:创建一个可以类似微信电话的界面

          本文链接:https://www.haomeiwen.com/subject/uudtottx.html