我正在研究VOIP呼叫应用程序。当来电显示到android 5.0以上版本时,来电会显示在Lockscreen的顶部,但是从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推送通知后,我启动了我的自定义来电活动,该活动将覆盖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上都可以正常工作,到目前为止,我还没有在其他OS版本中尝试过。我可以在锁定和未锁定屏幕的顶部接收来自我的应用程序的传入自定义呼叫。

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

10-12 00:23
查看更多