android - 安卓。在设备关闭时显示全屏内容(活动?!)
问题描述
当我收到推送通知时,我需要能够使用两个可以与之交互的按钮向用户显示全屏消息/通知。
类似于 Skype/Whatsapp 在接听电话时的做法。我需要唤醒手机,让显示屏亮起,然后显示这个全屏通知(活动?!)并等待用户与之交互。在屏幕上有一个正面和负面的按钮,然后在用户选择一个之后进行 API 调用,然后关闭全屏活动或其他任何活动。
考虑到我也需要让它在奥利奥上工作,最好的方法是什么。
解决方案
你是对的,你只需要在收到推送通知后开始一个活动。为了满足您的需求,需要相应地配置活动:
为了在可能的锁定屏幕上显示活动,如果设备“关闭”,该活动可能会处于活动状态:
- 对于 API 27+:https://developer.android.com/reference/android/app/Activity#setShowWhenLocked(boolean)
- 对于较旧的 API:https ://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#FLAG_SHOW_WHEN_LOCKED
为了在活动即将显示时唤醒屏幕: