在 Android 锁定任务模式下执行呼叫

2024-03-05

TL;DR 如何在使用时拨打电话Activity.startLockTask()?

我正在尝试在 Android 设备上设置受限环境,即通常所说的“Kiosk 模式”。

官方文档可以在这里找到:https://developer.android.com/work/cosu.html https://developer.android.com/work/cosu.html

这样做的官方方法建议使用Activity.startLockTask https://developer.android.com/reference/android/app/Activity.html#startLockTask().

这工作正常,直到您想从您的内部启动其他应用程序Activity这是在startLockTask()模式。 任何启动的活动都不能在新的任务堆栈上启动,否则系统会阻止启动意图,即不启动Intent.FLAG_ACTIVITY_NEW_TASK.

有些应用程序可以直接启动,其他应用程序似乎隐式设置此标志,但可以通过使用来解决startActivityForResult(...)这似乎删除了NEW_TASK旗帜。对于仍然无法工作的应用程序,我可以编写自己的替代品。

真正的问题是调用应用程序,它强制执行新的任务堆栈。触发呼叫发起呼叫,不显示呼叫活动,但也会在状态栏中放置呼叫通知(在使用时无法访问)startLockTask()。 与其他应用程序相比,通话应用程序也是无法用自定义应用程序替代的......

DevicePolicyManager.html.setLockTaskPackages() https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#setLockTaskPackages(android.content.ComponentName,%20java.lang.String%5B%5D)对此行为没有影响。


我尝试在锁定模式下启动呼叫意图,并弹出此行:

    system_process E/ActivityManager: Attempted Lock Task Mode violation mStartActivity=ActivityRecord{56ab302 u0 com.android.server.telecom/.components.UserCallActivity t155}

所以我添加

    setLockTaskPackages(<ComponentName>,new String[]{getPackageName(),"com.google.android.dialer","com.android.server.telecom"});

设法取出拨号器。当然,如果我按主页按钮或后退按钮,则无法恢复拨号器......但最近的按钮仍然被锁定。接听电话工作正常(所有按钮均被禁用)

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

在 Android 锁定任务模式下执行呼叫 的相关文章

  • 定期运行任务(每天一次/每周一次)

    我想定期 每周 每天一次 运行一些任务 即获取我的网站新闻页面 即使我的应用程序已关闭 是否可以 是的 您需要查看报警管理器 http developer android com reference android app AlarmMan
  • Android Studio:lambda 不起作用[重复]

    这个问题在这里已经有答案了 当尝试使用 lambda 表达式时 我遇到了一些 Gradle 构建错误 错误 41 100 错误 source 1 7 不支持 lambda 表达式 使用 source 8 或更高版本来启用 lambda 表达
  • 如何使用 adb 在设备上安装现有的 Android 应用程序?

    在开发过程中 我使用类似的东西 adb s 192 168 1 77 5555 uninstall com myApp app adb s 192 168 1 77 5555 install path to android debug ap
  • SQLite (Android):使用 ORDER BY 更新查询

    Android SQLite 我想要在 myTable 中的其他行之间插入行在android中使用SQLite 为此 我尝试增加从第 3 行开始的所有行的 id 这样 我就可以在位置 3 处插入新行 myTable 的主键是列 id 表中没
  • Android中不同线程的数据库访问

    我有一个在 AsyncTasks 中从互联网下载数据的服务 它解析数据并将其存储在数据库中 该服务持续运行 当服务写入数据库时 活动会尝试从数据库中读取更改 我有一个数据库助手 有多种写入和读取方法 这会导致问题吗 可能尝试从两个不同的线程
  • Android Web Intent 问题

    G day 免责声明 我不是 Android 开发人员 我正在对我所描述的问题进行质量检查 我用来描述这个问题的技术术语可能是错误的 我正在测试一个 Android 应用程序 该应用程序在其清单中描述它可以使用 type 的地址处理 Web
  • Google 移动广告和 Kindle Fire

    我最近用 Google 移动广告替换了 AdMob 库 对此我有一个疑问 广告会出现在 Amazon Kindle Fire 设备上吗 我问这个是因为我知道 Google 移动广告依赖于 Google Play 服务 所以我有点困惑 Goo
  • Android模拟器分配内存失败8

    当我尝试从 Eclipse 运行 WXGA800 模拟器时 出现如下错误 Failed to allocate memory 8 This application has requested the Runtime to terminate
  • 加快 ImageView 中的缩放功能

    我目前正在处理非常大的图像 7 10mb 由于多种原因无法调整大小或压缩 现在 我们的想法是在自定义 ImageView 中显示它们 使用户能够进行双击缩放 捏合缩放等 我使用这个库来完成这项工作 https github com Mike
  • 如何在Android Compose中使用otf类型字体文件?

    我正在学习使用 Android Jetpack Compose 现在我有一个正则 otf字体文件在资产 字体 我想在文本中使用它 java lang RuntimeException Font asset not found commonu
  • android 中camera.setParameters 失败

    我已将相机功能包含在我的应用程序中 我还在市场上推出了该应用程序 我从一位用户那里收到一条错误消息 称他在打开相机时遇到错误 我已经在 2 1 的设备上测试了该应用程序 我从用户那里得到的错误是使用 Nexus One 它主要运行 2 2
  • ACCESS_BACKGROUND_LOCATION 不适用于低于 Q (29) 的 Android 版本

    我的应用程序面向 Android API 28 根据文档 https developer android com preview privacy location target android 10 我应该要求ACCESS BACKGROU
  • 内部存储的安全性如何?

    我需要的 对于 Android 我需要永久保存数据 但也能够编辑 并且显然是读取 它 用户不应访问此数据 它可以包含诸如高分之类的内容 用户不得对其进行编辑 我的问题 我会 并且已经 使用过Internal Storage 但我不确定它实际
  • 检测 ListView(或 ScrollView)内的滚动位置

    我正在构建一个聊天室应用程序 其中每 X 秒就会轮询一次新事件 每次发生这种情况时 此代码都会使用新数据更新 RoomAdapter ArrayAdapter 的自定义子类 并将其滚动到底部 RoomAdapter adapter Room
  • “无法实例化活动”错误

    我的一个 Android 应用程序拥有大约 100 000 个用户 每周大约 10 次 我会通过 Google 的市场工具向我报告以下异常情况 java lang RuntimeException Unable to instantiate
  • 在 Android 布局 xml 文件中使用字符串格式参数 [重复]

    这个问题在这里已经有答案了 我在 String xml 文件中定义了一个使用格式参数的字符串 即
  • 更改Android菜单的背景颜色[重复]

    这个问题在这里已经有答案了 我正在尝试将标准浅灰色更改为浅绿色 似乎没有一个简单的方法可以做到这一点 例如 通过 Android 主题 但我找到了一个解决方法 如本页所述 http tinyurl com 342dgn3 http tiny
  • 如何在Android中解析xml类型的HTTPResponse

    我有一个 Android 应用程序 我使用 POST 方法来获取响应 这是我的代码 HttpResponse httpResponse httpclient execute httppost HttpEntity resEntity htt
  • 通过powershell运行ADB命令

    所以我尝试通过 powershell 脚本运行一些 ADB 命令 这是我正在尝试做的一个简单示例 adb shell echo in adb shell su root echo you are now root ls cd data da
  • 具有矢量可绘制的 ImageView 的 Resources$NotFoundException

    我遇到了崩溃 Resources NotFoundException用于在活动创建时绘制的矢量 21 日前崩溃 安卓工作室2 1 支持库24 0 0 Gradle插件2 1 0 目标SDK 23 最小SDK 15 buildTools版本

随机推荐

  • Android 通知 FCM 与简单拉取

    对于我的 Android 应用程序 我需要从服务器接收一些通知 通知的时间要求并不严格 当用户打开应用程序时检查新通知就足够了 因此根本没有后台活动 我注意到 建议使用 FCM Firebase Cloud Messaging 之类的服务来
  • 用对象项填充 listView 的正确方法?

    在我的 NativeScript 项目中 我尝试使用自定义对象 定义为接口 的实例填充 ListView 但输出 在 Android 模拟器上 非常奇怪 我在多行中生成了 object object object 而不是按照我的定义获取每个
  • python不确定性包中的零除错误

    为什么会出现以下零除错误 gt gt gt from uncertainties import ufloat gt gt gt a ufloat 0 0 gt gt gt x ufloat 0 3 0 017 gt gt gt a x Tr
  • 控制 lme4 1.0.* 中的最大迭代次数

    我使用 R 中的 glmer 命令 来自 lme4 包 估计了随机系数风险模型 该命令如下所示 logit full lt glmer event V12 I V1 2 V13 V9 I V5 2 V11 V10 V2 V3 V4 V6 V
  • 允许匿名/来宾用户“尝试”功能,而无需在 Rails/Devise/CanCan 应用程序中注册

    我正在使用 Devise 和 CanCan 开发 Rails 3 应用程序 该应用程序允许匿名 未注册 用户访问该应用程序的某些部分 并允许注册用户访问其他部分 该应用程序 瑜伽锻炼应用程序 的一个方面是 用户可以通过将瑜伽姿势串在一起来创
  • 从 git 历史记录中删除文件 - 错误修订错误

    我按照 Github 上的说明进行操作 https help github com articles remove sensitive data https help github com articles remove sensitive
  • Android - RadioButton 未在初始选中状态下取消选中

    我在 RadioGroup 中有一个 RadioButton 当我设置按钮的初始状态时出现问题 机器人 检查 真 因为如果我按下单选按钮 F 单选按钮 M 不会取消选中 我能怎么做 怎么了 这是代码
  • 来自 URL 的 Facebook ID

    给定一个 Facebook 网址 例如http facebook com cnn http facebook com cnn 有什么方法可以获取该页面的ID而不需要抓取它吗 这是更好的 并且legal 使用图形 API 来执行此操作 只需执
  • 使用 MySQLdb 执行“SELECT ... WHERE ... IN ...”

    我在 Python 中执行一些 SQL 时遇到问题 尽管类似的 SQL 在mysql命令行 该表如下所示 mysql gt SELECT FROM foo fooid bar 1 A 2 B 3 C 4 D 4 rows in set 0
  • 如何在 Kubernetes 中模拟断电

    我有我的rook ceph集群运行于AWS 它加载了数据 有什么办法可以刺激一下电源 检测 失败这样我就可以测试我的集群的行为 从 Docker 你可以发送 KILL 信号 SIGPWR 电源故障 系统 V http man7 org li
  • 重试时修改源 Observable - RxJava

    如何在重试时更新可观察的源 List
  • 如何在 PHP 中获取单选按钮的值?

    我创建了一个基本网站 要求用户选择一个单选按钮 我想要一个 PHP 文件来检索所选单选按钮的值并做出相应响应 但该文件当前不产生任何输出 我现在使用的代码有什么问题吗 为什么我的 PHP 文件无法正确检索单选按钮值 索引 html
  • 如何在Lua中创建目录?

    是否可以在 lua 中创建目录 如果是这样 怎么办 有一个 系统 调用 或类似的东西 这是来自内存的 您应该能够使用它来运行任意程序 其中可能包括 mkdir 命令 EDIT 我找到了我的Lua 编程书 在第 203 页 它提到了如何使用
  • 将 JFreeChart 系列名称映射到系列索引

    我正在策划一个TimeTableXYDataset用一个StackedXYBarRenderer 不幸的是 每个系列的颜色在刷新时都会发生变化 我知道如何使用设置颜色setSeriesPaint渲染器的方法 但它采用整数系列索引作为参数 我
  • 如何在 .NET 中启用程序集绑定失败日志记录 (Fusion)

    如何在 NET 中启用程序集绑定失败日志记录 Fusion 将以下值添加到 HKEY LOCAL MACHINE SOFTWARE Microsoft Fusion Add DWORD ForceLog set value to 1 DWO
  • 获取 JCarousel 中当前项目的索引

    我正在尝试获取当前项目的索引J旋转木马 http sorgalla com jcarousel 这样我就可以向用户显示轮播中的当前位置 例如 13 20 我怎样才能做到这一点 EDIT 最终产品样品 我认为您正在寻找的是 carousel
  • 如何在 .NET 4.0 中使用 XPath 2.0 方法?

    我正在使用 NET 4 0 并且我想使用 XPath 2 0 方法 例如 Matches 1 upper case 2 lower case 3 尝试在文档中查找元素 X 路径示例 MyDocument MyNode matches MyA
  • pcap_loop 和 pcap_dispatch 区别

    pcap loop 和 pcap dispatch 到底有什么区别 该手册对这一点的描述非常好 我是板着脸说的 保证 从man pcap loop pcap loop processes packets from a live captur
  • nServiceBus、公共交通、Rhino 服务总线、其他?

    只是做一些快速的尝试 以可能使用消息传递系统来处理良好解耦的工作流系统中的文件 人们发现使用上述每个框架的优点和缺点是什么 与带有 WCF 绑定和 或非 MSMQ 解决方案的手动 MSMQ 系统相比 使用这些有哪些优势 我建议远离手动解决方
  • 在 Android 锁定任务模式下执行呼叫

    TL DR 如何在使用时拨打电话Activity startLockTask 我正在尝试在 Android 设备上设置受限环境 即通常所说的 Kiosk 模式 官方文档可以在这里找到 https developer android com