如何显示来电活动

时间:2016-08-25 12:56:47

标签: android android-activity android-wake-lock

我正在开发视频和语音聊天应用。

我需要做的是在用户尝试呼叫其他用户时显示一些来电活动。

我已经在使用Firebase Cloud Message发送推送消息,警告设备有呼叫请求。

但是我正在努力唤醒设备并在锁定屏幕前显示来电,因此用户可以接受或拒绝来电。

我正在寻找的是类似于什么 Whats App 所做的事情。

enter image description here

显示当设备处于解锁状态且应用程序启动并运行时,这不是问题。

但是,当设备被锁定并出现黑屏时,如何归档此目标。

1 个答案:

答案 0 :(得分:1)

我也正在开发这种应用程序,我所做的是:我在一个特定的活动上使用了一些Flags for WindowManager,我必须在来电事件时在屏幕上显示。

尝试在您打算在屏幕上显示的活动的OnCreate()方法中添加以下代码。

getWindow().addFlags(
            WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
                    + WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
                    | +WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
                    | +WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); 

并在Manifest中提及以下权限:

 <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
 <uses-permission android:name="android.permission.WAKE_LOCK" />

希望如此,它会帮助你。!!