如何阻止 Android 上的“拨号”、“主页”、“返回”和“结束通话”按钮

2023-12-08

我想知道如何阻止 Android 设备上的拨号、主页、返回和结束通话按钮。

我知道这是可能的,因为有一个应用程序:TheftAware 确实会阻止所有按钮,因此它们根本不起作用。

我还想知道如何制作一个对话框窗口或任何类型的窗口,无论如何它都会保持在顶部(这也是在theftaware中完成的)。

他们还能够阻止(隐藏)通话屏幕......有人知道他们是怎么做到的吗?

注意:这是否意味着 Android 并不那么安全?


我只是想在这里澄清一些信息。

BeRecursive 中的代码示例在某些方面是不正确的。正如已经指出的,它不会阻止主页按钮,但它还有其他问题:

  1. 为了消费该事件,所以 Android 框架的其余部分不会 采取行动,你需要返回true来自onKeyDown处理程序,not false。合同是这样的true表示处理的应用程序 活动和框架应该 不执行默认按键事件 处理。 (Praveen 的代码示例也有同样的问题)。

  2. 从Android 1.5及更高版本开始, Android 框架移动了 动作激活来自onKeyDown to onKeyUp。所以你还需要 来实现阻塞onKeyUp处理程序,而不仅仅是onKeyDown处理程序。

  3. 可以阻止KeyEvent.KEYCODE_CALL按钮使用 这种技术,但不是KeyEvent.KEYCODE_ENDCALL按钮。 这似乎是为了安全 原因。

最后来说说设置技巧WindowManager.LayoutParams.TYPE_SYSTEM_ALERT就实际阻止任何硬件按钮而言对我没有任何影响。它对于抑制其他应用程序的弹出窗口可能很有用,但我还没有充分探索这一点。

Android 团队提供了很多有用的信息这篇博文.

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

如何阻止 Android 上的“拨号”、“主页”、“返回”和“结束通话”按钮 的相关文章

  • Android:处理电话中的语音

    我目前正在寻找有关如何在 Android 上操作音频的选项 目标是在通话期间实时处理来自麦克风的音频 最好的解决方案是在本机调用中执行此操作 但重建一个电话应用程序 无 VOIP 也可以 有没有什么方法可以使用 Android API 来实
  • 有没有办法有一个屏蔽数字输入字段?

    我正在 Android 上创建一个 HTML5 应用程序 对于这个特定场景 我们有一个用于信用卡安全代码的输入字段 我们希望强制输入字段仅包含数字并被屏蔽 我没有运气搜索这个特定的案例 从我自己研究 尝试中可以看出 这不能纯粹通过 HTML
  • android中.so文件的实际用途是什么? [复制]

    这个问题在这里已经有答案了 我想在我的应用程序中实现类似聊天的环聊 我一直在使用 opentok 库 我在其中看到了 libopentok so 文件 谁能告诉我 libopentok so 文件的确切用法是什么 在Android中 我们可
  • 当用户将 Android 11 应用程序置于后台时,除非手机已连接电源,否则我的 Android 11 应用程序将停止运行

    我编写了一个前台服务 以确保我的应用程序在进入后台时可以继续运行 该应用程序需要在后台运行 因为在计时器到期后 它会发出声音并振动以提醒用户 但是 当按下电源或主页按钮时 应用程序的计时器将在大约 15 分钟后停止运行 除非手机已插入电源
  • OneSignal 推送通知 单击以打开活动

    我集成了一个用于推送通知的信号库 我想在应用程序未运行时通过单击推送通知来打开特定活动 我收到推送通知 但当我单击通知时 应用程序崩溃了 这是我的通知接收器代码 public class ExampleNotificationOpenedH
  • Kotlin 数据类中的函数作为参数会导致解析错误

    我有一个 Kotlin 帽子中的数据类正在使用 Parcelize注释以方便分割 问题是我现在想将一个函数传递给此类 但我真的不知道如何使该函数在打包过程中不被考虑 这是我的数据类 Parcelize data class GearCate
  • android 中 y + 高度必须 <= bitmap.height()

    我想从另一个创建位图 但每次尝试都会崩溃 这是错误消息 java lang IllegalArgumentException y 高度必须 这是我尝试创作的地方 public void saveBitmap Bitmap bitmapToS
  • 如何将 ThreeJS 与 PhoneGap 一起使用?

    这个探索是非常自我描述的 我已经用一个简单的 3D 立方体进行了测试 它在浏览器中运行良好 但只在模拟器中显示空白页面 有人说 Threejs 不能与 PhoneGap 一起使用 但也有人说他们使用过并且工作正常 在 Android 中 您
  • 像 Google Play 商店一样在垂直 RecyclerView 中动态不同图像水平 RecyclerView

    我一直在关注这个教程 http android pratap blogspot co za 2015 12 horizo ntal recyclerview in vertical html http android pratap blog
  • Android Studio,工具提示消失得这么快

    我有以下问题 我想从这个工具提示中复制错误文本 但是一旦我将鼠标悬停在它上面 它就消失得如此之快 这让我发疯 我有以下 android studio 版本 我有以下设置 谢谢您的帮助 如果有人遇到这个问题 这与logcat刷新的方式有关 每
  • 在路径上找不到类:DexPathList?

    当我在 android studio 中使用 USB 在真实设备中测试时 我的应用程序工作正常 但是当我将 apk 发送到另一台设备并在那里安装时 它无法工作 应用程序崩溃了 我没有找到任何正确的方法来解决问题 错误如下 FATAL EXC
  • Android:TelephonyManager 类

    我不明白为什么 API 文档中这么写TelephonyManager类是public 但是当我尝试创建一个实例时 它说它不是公共类 并且无法从包中访问 我看到它也说使用Context getSystemService Context TEL
  • 在 Android 模拟器中获取互联网连接

    我有一台带有wifi连接的台式电脑 我的IP地址是192 168 12 95 网关是192 168 10 10 但是我在android模拟器中没有获得互联网连接 也就是说我无法访问internate 我也尝试过 emulator avd w
  • Facebook 好友请求 - 失踪好友

    我请求从我正在开发的 Android 应用程序中获取用户好友 从 Facebook Api V2 0 开始 我知道我应该只获取已经通过我的应用程序登录的用户好友 但是 尽管我知道用户的某些朋友已通过我的应用程序登录 但在请求该用户的朋友时
  • 如何使 Edittext 大小保持不变?安卓

    我知道使 Edittext 左侧的文本 消失 以保持单行的属性 singleLine true 但我的问题是 当我在显示视图之前填充编辑文本时 在这种情况下 我的编辑文本都超出了屏幕 有任何想法吗 谢谢 这是填充空的 Edittext 时得
  • 使用 LinearLayout 将按钮放在屏幕底部?

    我有以下代码 如何使 3 个按钮位于底部
  • Android Lollipop:将应用程序小部件添加到主屏幕时启动器崩溃

    添加小部件时 启动器在 Android Lollipop 上崩溃 并显示以下消息 在以前的 Android 版本上运行良好 编辑 这只发生在横向方向 12 16 12 35 10 208 E AndroidRuntime 960 java
  • 未捕获的引用错误:cordova 未定义

    这是我的 HelloPlugin js 文件 var HelloPlugin callNativeFunction function success fail resultType return cordova exec success f
  • Android 10 通知彩色操作按钮

    I m trying to color the buttons Action in Notification like this So far this is what i m achieved so far 下面是我正在使用的代码 通知服
  • 如何找出每个包含的库的最低 api 级别

    我的项目中包含了很多库 Android Studio 2 0 Preview 4 我想找出它们每个的最低 Android SDK 级别 是否可以不用谷歌搜索每个图书馆的信息 如果您有源形式的库 例如 作为项目中的库模块 请查看其清单 如果您

随机推荐

  • 使用ajax发送base64图像

    我正在尝试从画布中生成图像 并通过 ajax 发出的 POST 请求将其发送到服务器 我正在使用 html2canvas 将 div 转换为 canvas 并使用 toDataURL 将其转换为 base64 这是我的JS function
  • 如何在 XPath 中使用 AND 运算符?

    XML 就像 a b value1 b b value2 b a 我想写 XPath 来查找 id a 那里会有两个 b 具有固定值的子节点value1 and value2 我试图找出 XPath 的条件如下 xml gt xpath b
  • 在 Objective-C 中如何在视图控制器之间传递对象?

    我花了两天时间艰难地研究一些代码 试图找出为什么我无法获取我在 h 中声明并在 m 中实现并在 viewDidLoad 函数中设置的全局 NSMutableArray 变量 我终于明白了 Objective C 中不存在全局变量这样的东西
  • 横向启动应用程序会导致启动时旋转

    我已经实现了shouldAutorotateToInterfaceOrientation 并且在我的应用程序运行后 在条款或方向更改方面一切正常 但是 我不喜欢我的应用程序首次启动时的行为 当我以纵向启动我的应用程序时 它会按预期打开 但是
  • 如何确定 Android 中的语音信箱电话号码

    如何在 Android 代码中确定手机的语音信箱号码 您可以在 TelephonyManager 类中使用 getVoiceMailNumber 请注意 这可能不适用于所有手机提供商 Android 电话管理器
  • 如何将 .dds 文件加载到图片框中?

    如何在 C 中将 dds 纹理文件加载为图像 我在谷歌上找不到任何有用的东西 你给我的信息和样本越多 我就越能理解它 我遇到过同样的问题 这是一个很好的解决方案 Source http www mastropaolo com devildo
  • Azure 数据工厂:事件未启动管道

    我已经设置了一个包含复制活动的 Azure 数据工厂管道 出于测试目的 源和接收器都是 Azure Blob 存储 我不想在源 Azure Blob 存储上创建新文件后立即执行管道 我创建了 BlovEventsTrigger 类型的触发器
  • 类型 Set 不带参数

    package set import java util public class Set public static void main String args String things appple bob ham bob bacon
  • 使用 decltype() 和三元运算符有条件地选择类型

    我有一个文件a cpp include
  • 使用 C# 在 WebDriver 中打开新窗口

    EDIT 4 EDIT 3 EDIT 2 string currentWindow driver CurrentWindowHandle driver SwitchTo Window string childTitle driver Tit
  • .py 和 .pyc 文件有什么区别? [复制]

    这个问题在这里已经有答案了 我注意到了 pyc当某些情况下会自发生成文件 py运行同名文件 有什么区别 py and pyc files 另外 我发现有 pyc周围的文件使空间变得混乱 是否应该删除 pyc文件 或者让它们存在有什么好处和
  • Python3 表情符号字符作为 unicode

    我在 python3 中有一个字符串 其中包含表情符号 我想将表情符号视为它们的 unicode 表示形式 我需要对这种格式的表情符号进行一些操作 s hello 这将每个表情符号视为自己的角色 这样len s 9 s 0 我想更改字符串的
  • 如何使用子字符串分割字符串

    我有一个像 Test1 Test2 这样的字符串 我需要将 Test2 与它分开 我怎样才能在 C 中做到这一点 尝试这个 string toSplit Test1 Test2 toSplit Split or toSplit Split
  • Android:当我动态添加新的 ListView 条目时,ListView 中的微调器会丢失其值

    我的活动包含一个按钮和一个列表视图 ListView 包含一个 Spinner 视图和一个 EditText 视图 每次我想在 Activity 的 ListView 中插入新行条目时 我都会使用该按钮 我按照以前的 stackoverfl
  • Scala:基于类型的列表分区

    我有这段代码想要改进 sealed abstract class A case class B extends A case class C extends A case class D extends A case class Foo T
  • Linq 的 IEnumerable.Select 是否返回对原始 IEnumerable 的引用?

    我试图在代码中克隆一个列表 因为我需要将该列表输出到其他代码 但原始引用稍后将被清除 所以我想到了使用Select扩展方法来创建对某个对象的新引用IEnumerable相同的元素 例如 List
  • 如何使用 jQuery 和 AJAX 刷新 ASP.NET ListView?

    我有一个包含许多 ListView 的页面 我希望用户能够对其进行排序和分页 我不想每次都回发并重新绑定整个页面 而是想通过 jQuery AJAX 有选择地针对相关控件进行操作 我很乐意在页面中对 WebMethod 进行客户端调用 我的
  • 导出到 csv - Linq 查询

    我在 linq 中有一个类可以像这样查询数据库表 问题是 如何将该数据导出到 csv 我已经尝试过建议的链接 并且正在使用 linq2csv 但仍然想知道如何按顺序获取列 谢谢 var usr from usr in db User sel
  • 在 R 中创建一个包含 100 列所需列名称的数据框

    我想创建一个包含 100 列的数据框 其名称为 feature1 feature2 feature3 feature100 我能够将数据框创建为 df lt as data frame matrix 0 ncol 100 nrow 2 但我
  • 如何阻止 Android 上的“拨号”、“主页”、“返回”和“结束通话”按钮

    我想知道如何阻止 Android 设备上的拨号 主页 返回和结束通话按钮 我知道这是可能的 因为有一个应用程序 TheftAware 确实会阻止所有按钮 因此它们根本不起作用 我还想知道如何制作一个对话框窗口或任何类型的窗口 无论如何它都会