android - 在 Marshmallow 的锁屏上显示 VOIP 来电

标签 android voip lockscreen incoming-call sipdroid

我正在开发 VOIP 调用应用程序。当来电显示高达 android 5.0 版时,来电显示在锁定屏幕的顶部,但从 6.0 版开始显示为通知。未出现调用屏幕。

在做了一些研发之后,在 setContentVies() 之前添加了以下代码,

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);

但仍然面临同样的问题。谁能建议我如何在锁定屏幕上显示 VOIP 来电。

最佳答案

在我的接收器上收到 VOIP 推送通知后,我启动了我的自定义来电 Activity ,它覆盖了 onAttachedToWindow 方法,如下所示:

@Override
public void onAttachedToWindow() {
    super.onAttachedToWindow();
    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);
}

这在 Android 4.4 到 Android 8.0 中对我来说都很好,到目前为止我还没有在其他操作系统版本中尝试过。我能够在锁定和解锁屏幕上接收来 self 的应用程序的传入自定义调用。

关于android - 在 Marshmallow 的锁屏上显示 VOIP 来电,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42196625/

相关文章:

java - 如何在java android中对数字进行排序?

android - 在选择器中使用属性 - Android

android - 其他 LinearLayout 中缺少 Linearlayout

networking - 无丢包的自适应抖动缓冲

使用 SIP 的 Android 语音调用 (VoIP) 应用程序

android - android 3/4.1 中的锁屏小部件 android?

android - 通过安全锁屏通知启动 Activity

android - 当我尝试在设备上安装已编译的 .apk 时,INSTALL_FAILED_UPDATE_INCOMPATIBLE

android - 如何在android中通过套接字建立客户端到客户端的语音通话

android - 尝试实现 RemoteControlClient,但仍未获得锁屏控件