即使手机处于锁定模式,活动也会显示

2023-12-05

我的问题与此类似如何让 Android 设备启动并跳过屏幕锁定

我想从广播接收器显示一个对话框,但 Android API 不允许我这样做,因此我正在使用从那里启动一个活动并将该活动的主题更改为 Theme。

现在,即使手机处于锁定模式/睡眠模式,我也希望显示此活动。

我可以使用以下标志打开屏幕,但密钥防护(非安全)我必须手动解锁。我无法在锁定屏幕上看到我的窗口。

不同之处在于我没有使用全屏 Activity,即

android:theme="@android:style/Theme.Dialog

在我的代码中我正在使用

Window w = getWindow();
w.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | 
           WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | 
           WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);

我没有通过使用这些标志成功实现此功能,但通过使用WakeLock and 键盘锁。以下是我所做的:

public class DismissLock extends Activity {

PowerManager pm;
WakeLock wl;
KeyguardManager km;
KeyguardLock kl;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    Log.i("INFO", "onCreate() in DismissLock");
    pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
    km=(KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);
    kl=km.newKeyguardLock("INFO");
    wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP|PowerManager.ON_AFTER_RELEASE, "INFO");
    wl.acquire(); //wake up the screen
    kl.disableKeyguard();// dismiss the keyguard

    setContentView(R.layout.main);

}

@Override
protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();
    wl.release(); //when the activiy pauses, we should realse the wakelock
}

@Override
protected void onResume() {
    // TODO Auto-generated method stub
    super.onResume();
    wl.acquire();//must call this!
}

}

当然,你还是需要在manifest文件中声明权限。

<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

即使手机处于锁定模式,活动也会显示 的相关文章

随机推荐

  • Spring-React frontend-maven-plugin 不工作

    我正在关注的文档是https spring io guides tutorials react and spring data rest 构建一个使用 Spring 的 React 应用程序 spring 部分很好 直到到达建议使用插件安装
  • Android 回收器视图中的水平和垂直滚动

    我有一个要求 我需要在回收器视图中进行水平滚动和垂直滚动 它基于来自服务器的数据类型 如果服务器的响应将第一个元素作为数组 我需要将其放在水平滚动列表中 如果第二个元素是单个对象 那么我需要将其显示在卡片中 同样 顺序会发生变化 并应反映在
  • Excel VBA 项目未关闭

    我有一个 COM 插件 在其中处理 Excel 事件 我点击Alt F11查看与Excel相关的VBA项目 但是 当我关闭工作簿时 项目资源管理器中的 Excel VBA 项目也没有关闭 当我的 COM 插件未安装时 它会正常关闭 发生了什
  • .NET MVC 4 JSON Post/Put Web.config 中的字符限制

    我使用 PUT 动词将 JSON 发送到 MVC 控制器 当我达到某个限制时 我会收到 500 错误 如果我缩小发送的 JSON 那么它发送得很好 有谁知道 web config 中的配置允许将更大量的 JSON 传递到我的应用程序吗 答案
  • Power Query - 从单列到整个表的数据转换

    我有一个要求 我有一张这样的桌子 实际表有 2 列 Column1 Column2 ColAValue ColBValue New Row ColCValue Above Row ColCValue2 Above Row ColDValue
  • 我们可以在EF中进行交叉连接吗?

    所以基本上我回来时问了这个问题 查询包含对不同数据上下文中定义的项目的引用 但这次我是在 EF 中进行的 EF是否支持两个表之间的交叉连接 您无法在不同的数据上下文之间进行连接 您必须使用 linq objects 进行连接 var cro
  • 在 JWASM/MASM 中 - pshufw 产生错误 A2030:当前 CPU 模式下不接受指令或寄存器

    我有以下汇编程序 在编译时出现错误 686 mmx model flat c code MmxAdd proc push ebp mov ebp esp mov eax ebp 24 cmp eax AddOpTableCount jae
  • 使用 Angular2 将文件上传到 REST API

    实际上 我正在开发一个 Spring REST API 其接口是用 Angular 2 编码的 我的问题是我无法使用 Angular 2 上传文件 我的java网络资源是 RequestMapping method RequestMetho
  • 如何将浏览器重定向到 ASP.NET 中的本地文件?

    我想要火狐浏览器打开C somefile txt在本地驱动器上 我尝试过使用 file 前缀的response redirect 但它只是插入 对象移到此处 进入页面 我还想对路径进行 htmlencode 因为它可能包含特殊字符 Edit
  • 如何创建类型列表的笛卡尔积?

    我想使用可变参数模板创建类型列表的叉积 这是我到目前为止所拥有的 include
  • Android:以编程方式更改按钮背景

    我有这个颜色资源文件
  • matplotlib 中使用 Latex 的无衬线数学

    以下脚本 import matplotlib matplotlib use Agg import matplotlib pyplot as mpl mpl rc font family sans serif mpl rc text uset
  • 300 000 000 000 的质因数?

    我需要找出超过3000亿的素因数 我有一个函数正在添加到它们的列表中 非常缓慢 现在它已经运行了大约一个小时 我认为它还有相当长的距离要静止 我这样做是完全错误的还是这是预期的 编辑 我试图找到数字 600851475143 的最大质因数
  • Jquery 移动后退按钮

    我有一个应用程序 在其中以编程方式向页面添加后退按钮 这意味着第一页上不会有后退按钮 然而 应用程序本身有多种进入应用程序的方式 换句话说 我可以收到通知 并且在触摸该通知时 它会转到应用程序中的特定区域 该区域不会有返回主页的后退按钮 如
  • 动态改变UITable单元格高度?

    我需要根据内容大小 长度调整单元格高度 尝试了几种方法 哪一种给出了准确的高度而不重叠 请参阅本教程进行更改UITableViewCell动态高度 调整 A UITableViewCell 大小 并使用本教程 uitableviewcell
  • 在keras中对合并层进行训练

    我正在实施以下this穆罕默德 哈瓦伊 Mohammad Havaei 的论文 它使用以下架构 我修改了一些代码here这样做 print Compiling two path model local pathway modle l Seq
  • 使用FJCore编码Silverlight WriteableBitmap

    我试图找出如何使用 FJCore 将 WriteableBitmap 编码为 jpeg 我知道 WriteableBitmap 提供原始像素 但我不确定如何将其转换为 FJCore 为其 JpegEncoder 方法期望的格式 JpegEn
  • 页脚位于页面底部或内容底部(以较低者为准)

    我有以下结构 div div
  • 在 javascript 中使用 webkit-playsinline

    如何在 javascript 中而不是 html5 视频标签中使用 webkit playsinline 我想像在 javascript 中使用视频标签控制 自动播放属性一样使用它 或者你们有其他有效的方法吗 我正在开发一个用于传输视频的
  • 即使手机处于锁定模式,活动也会显示

    我的问题与此类似如何让 Android 设备启动并跳过屏幕锁定 我想从广播接收器显示一个对话框 但 Android API 不允许我这样做 因此我正在使用从那里启动一个活动并将该活动的主题更改为 Theme 现在 即使手机处于锁定模式 睡眠