在 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 锁定任务模式下执行呼叫 的相关文章

  • APK META-INF/library_release.kotlin_module 中复制的重复文件

    我最近通过 JitPack 添加了两个 Android 库 但出现以下错误 Duplicate files copied in APK META INF library release kotlin module 我已经清除了缓存 并尝试使
  • Android 构建 gradle 在特定设备上失败

    我面临一个奇怪的问题 当我编译我的应用程序以在 Android 7 0 的设备上运行它时 它可以工作 但是当我尝试为 Android 4 2 1 的设备进行编译时 它会失败并出现以下错误 错误 任务 app transformClasses
  • 在屏幕上随机生成一个圆圈并将其设为绿色或红色

    所以我一直在尝试制作一个游戏应用程序 它可以在 Android 屏幕上随机显示带有文本的红色按钮或带有文本的绿色按钮 如果有人可以帮助我 我将不胜感激 另外 如果有人知道如何做到这一点 我想慢慢地产生更快的酷优势 谢谢 SuppressLi
  • Android 上的硬币识别

    我目前正在开发一个 Android 应用程序 它能够拍摄硬币的现有图像 或者使用内置摄像头扫描单个硬币 非常像 Google Goggles 我正在使用 Android 版 OpenCV 我的问题如下 什么方法最适合使用 OpenCV 在
  • 明文 HTTP 流量...不允许

    我的程序从用户那里获取一个 URL 因此它可以向互联网上的任何网站发出请求 我试图让这成为可能 我查找了有关 Android HTTP Cleartext 错误的所有答案 并做了这个 但它仍然不允许我连接我的测试本地 PHP 服务器 我在这
  • 在 Android 中关闭 Spinner 中的下拉菜单

    在 Android 中打开和关闭微调器时 我需要为箭头图标设置动画 打开微调器时我可以旋转箭头 我只是放了一个setOnTouchListener on the Spinner 当下拉菜单关闭或隐藏时 问题就来了 因为我不知道如何在该操作上
  • Android Things 文件系统

    我正在 Android 上构建这个应用程序 我希望能够让它访问 U 盘上的媒体文件 甚至树莓派的 SD 卡上的媒体文件 我还不知道我将如何处理这些文件 但我只是想知道它是否可能 如果不是这样也没关系 我还有其他解决方案 但我想我会先从明显的
  • 用于代码生成的 ANTLR 工具版本 4.7.1 与当前运行时版本 4.5.3 不匹配

    我正在开发一个 Android 应用程序 当前使用 DSL 和一些库 突然构建给了我这个错误 任务 app kaptDebugKotlin 失败 用于代码生成的 ANTLR 工具版本 4 7 1 与当前运行时版本 4 5 3 不匹配 用于解
  • NullPointerException org.chromium.android_webview.AwContents$AwViewMethodsImpl.onDragEvent

    大约 10 天前 我的应用程序开始记录此异常 在开发控制台上看到 java lang NullPointerException at org chromium android webview AwContents AwViewMethods
  • Android接收通知打开和取消事件

    我从 webService 接收数据以生成自定义通知 我想追踪Intent要知道open 点击 或cancel 滑动 通知上的事件 以报告服务器进行分析 有没有听众onIntentStart or onIntentCanceled 也许是通
  • 将搜索结果更新为 Android 中的 Lazy Adapter

    我有项目列表 想为其实现搜索功能 因此 我有一个带有 addTextChangedListener 的文本框 搜索结果运行良好 但当我尝试将结果设置为 ListView 时 新结果将附加到旧结果中 我正在使用惰性适配器 如何清除适配器中的旧
  • MAT(Eclipse 内存分析器)- 如何从内存转储中查看位图

    I m analyzing memory usage of my Android app with help of Eclipse Memory Analyzer http www eclipse org mat also known as
  • 改造Android基本且简单的问题

    我的服务器返回简单的 Json 结果 如下所示 message Upload Success 我正在尝试将结果放入改造模型类中 public class MyResponse SerializedName message String me
  • 在 Android SDK 中通过单击按钮更改背景颜色不起作用

    我有一个简单的程序 可以在单击按钮后更改背景颜色 但它不起作用 public class ChangeBackgroundActivity extends Activity Called when the activity is first
  • Android 视图和视图组

    在安卓中ViewGroup继承自View A ViewGroup是一个容器 里面装有Views ViewGroup LinearLayout View TextView 为什么 Android 的人们将这种关系定义为Inheritance而
  • 在 TextView onTextChanged 上设置文本

    我有一个定义为类属性的文本视图 以便我可以在整个类中访问它 在 onCreate 方法中我执行以下操作 chars TextView findViewById R id chars chars setText 300 之后 public v
  • Exif 方向标签返回 0

    我正在开发一个自定义相机应用程序 我面临以下问题 当我尝试使用检索方向时ExifInterface 它总是返回 0 ORIENTATION UNDEFINED 这使我无法将图像旋转到正确的状态 从而无法正确显示 我使用示例代码来设置相机旋转
  • Admob - 没有广告可显示

    你好 我尝试制作一些在 Android 手机上显示广告的示例程序 并尝试在 v2 2 的模拟器上测试它 代码中的一切似乎都很好 但调试器中的 AdListener 表示 响应消息为零或空 onFailedToReceiveAd 没有广告可显
  • TYPE_ACCELEROMETER 和 TYPE_LINEAR_ACCELERATION 传感器有什么区别?

    I think TYPE ACCELEROMETER显示设备加速 但是 我不明白什么时候应该使用TYPE LINEAR ACCELERATION 我需要计算移动设备的速度 哪种传感器适合此应用 另外 我读到TYPE LINEAR ACCEL
  • 将数据放入短信发送意图中?

    我想发送短信 如果文字太长 我会将其分成多条消息 我试图将一些额外的信息放入 已发送 意图中 以了解哪个部分已发送 以及所有部分何时完成 ArrayList

随机推荐

  • 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