android - 在锁屏android上显示活动
问题描述
我正在尝试在锁定屏幕上显示我的警报活动。我正在使用广播接收器的全屏意图。当屏幕被锁定时,活动不会显示在锁定屏幕上。当我解锁屏幕时显示。我哪里错了?
我使用了以下权限:
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
在活动中,我在活动的 oncreate 中设置了以下标志:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
setShowWhenLocked(true);
setTurnScreenOn(true);
KeyguardManager keyguardManager = (KeyguardManager)
getSystemService(Context.KEYGUARD_SERVICE);
if(keyguardManager!=null)
keyguardManager.requestDismissKeyguard(this, null);
} else {
getWindow().addFlags(
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON |
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON |
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON
);
}
解决方案
推荐阅读
- python - 使用 Keras (Tensorflow) 训练模型时出现形状错误
- java - 如何使用 Maven 构建从属性文件中删除注释?
- javascript - 从数据数组中删除项目
- c# - 如何使用数组条目作为每个实例的初始化值来初始化可变数量的类实例
- php - DokuWiki 在管理部分添加页面
- google-cloud-endpoints - 将多个后端服务组合到一个云端点 API
- python - 在 JIRA 中以匿名方式创建问题,但由受让人跟踪其状态
- android - 在Android Studio中使用网络连接获取链接json的麻烦
- swift - 迭代和修改集合中的结构
- c# - 尝试验证域凭据时服务器无法处理目录请求