【问题标题】:How to show a incoming call activity如何显示来电活动
【发布时间】:2016-08-25 12:56:46
【问题描述】:

我正在开发一个视频和语音聊天应用程序。

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

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

但是我很难唤醒设备并在锁定屏幕前显示来电,以便用户可以接听或拒绝来电。

我正在寻找类似于 Whats App 在您呼叫某人时所做的事情。

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

但是当设备被锁定和黑屏时,我如何归档这个目标。

【问题讨论】:

  • 你试过answer中提到的解决方案吗?
  • 您的应用是否有 WAKE_LOCK 权限?您尝试过简单地创建一个唤醒设备的服务吗?您可以稍后担心来电(我记得在这里看到过类似的问题)
  • @IchigoKurosaki 不,我没有找到你提到的这个问答,我会看的。谢谢! =D
  • @cricket_007 我同意你的观点,首先我需要唤醒设备,然后开始将解决方案更新为最终解决方案。但这正是我被困住的地方。我读到了 WAKE_LOCK 权限,已添加到我的清单中,但我仍然可以弄清楚如何唤醒设备。
  • stackoverflow.com/a/57502344/4511297查看我的答案。

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


【解决方案1】:

我也在开发这种应用程序,我所做的是:我在来电事件时必须在屏幕上显示的特定活动上为 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" />

希望对你有帮助!!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-13
    • 1970-01-01
    • 1970-01-01
    • 2012-04-21
    • 1970-01-01
    • 2016-03-23
    • 1970-01-01
    相关资源
    最近更新 更多