标题似乎是this的副本。
然而,当我尝试解决方案并进一步阅读时,我发现call_特权权限仅适用于系统应用程序。所以我想知道这件事有没有解决的办法。
我想实现的是非常明显的,直接拨打紧急电话,如911,而不打开拨号屏幕。(出于安全原因,我发现这是不可能的。还在努力。)
我的假设:(以下步骤是我实现上述目标的愚蠢假设)
a.使用action_dial intent action并打开拨号程序屏幕,此时911已拨入其中,
Intent callIntent = new Intent(Intent.ACTION_DIAL);
callIntent.setData(Uri.parse("tel:" + "911"));
startActivity(callIntent);
我的梦想开始了。如果这些都有可能的话。
b.注册一个接收器,该接收器将检查拨号程序是否打开(如果存在这样的意图,则查找意图),并且它包含的号码是911。
c.以编程方式调用call按钮的click事件。(如果可能的话,请再说一次)
请告诉我以上是否可行?我也在努力完成这件事。另外,任何其他实现这一目标的方法都是伟大的。
编辑-我希望这是可能的,没有用户拥有根访问权限。
最佳答案
你有两个选择
使用意图
当您使用“intent.action_dial”来拨打您在此处完成的呼叫时,您必须了解,您总是会中继应用程序的默认拨号程序,因为您要求操作系统对此意图需要侦听器,所以您最终会打开应用程序。所以用这种方法是做不到的
制作自定义拨号程序
我能找到的唯一解决办法是你自己做一个自定义拨号程序,但为此你需要做一个自定义rom。
考虑到你的要求,我不得不说这是不可能的
现在考虑一下你所提供的解决方案
以编程方式调用call按钮的click事件
由于沙箱的限制和安全原因,我真的怀疑这种可能性。