【问题标题】:Is it possible to programmatically make a call on background?是否可以以编程方式在后台进行调用?
【发布时间】:2014-07-25 01:20:06
【问题描述】:

我知道出于安全原因这可能是不可能的,但我还是在问,因为我在谷歌上找不到答案。 是否可以创建一个在手机操作系统锁定时启动自动呼叫的应用程序(Android/iPhone)?

可能的情况:

  1. 用户打开应用程序。
  2. 应用在后台执行命令,1 分钟后应开始调用。
  3. 用户锁定手机。

应用会执行电话吗?

【问题讨论】:

  • 在 iOS 下,没有 API 可以让应用程序在未经用户允许拨打电话的情况下开始通话,然后运行支架电话应用程序。
  • “手机操作系统被锁定”是什么意思?键盘?
  • with "phone locked" 我的意思是用户按下了睡眠键锁住了手机,屏幕变暗了。

标签: android ios phone-call


【解决方案1】:

是的,我认为 Android 是可能的。您可以使用AlarmManagerHandler 来解决计划问题。来决定你必须采取哪个。以下是 Android 文档的摘录:

注意:警报管理器适用于您希望应用程序代码在特定时间运行的情况,即使您的应用程序当前没有运行。对于正常的计时操作(滴答声、超时等),使用 Handler 更容易、更高效。

要在 Android 中拨打电话,您可以查看here

【讨论】:

  • 只是为了确保我们相互理解。如果我通过按 Android 手机上的睡眠按钮锁定手机(这样用户必须插入安全码才能再次解锁手机),使用 AlarmManager 或 Handler 启动的自动电话呼叫的代码是否仍然有效?
  • 我没有足够的使用 Handlers 来调度 Tasks 的经验,但是有了 AlarmManager 它肯定会执行。
【解决方案2】:

正如 Fenix 所说,您可以在 AlarmManager 和 ACTION_CALL 隐式意图的帮助下做到这一点。

您可以使用以下命令从 adb 尝试一下,

$ adb -d shell am start -a android.intent.action.CALL -d tel:900XXXX69X

但是一旦你触发了一个呼叫,Dialer 就会变成前台应用程序,并且屏幕会打开。

【讨论】:

    猜你喜欢
    • 2022-11-22
    • 1970-01-01
    • 1970-01-01
    • 2018-09-01
    • 1970-01-01
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    • 2010-09-12
    相关资源
    最近更新 更多