【问题标题】:Show my activity instead of standard screen for incoming call显示我的活动而不是来电的标准屏幕
【发布时间】:2012-02-13 06:00:40
【问题描述】:

我正在为 android 2.3.3 开发一个应用程序。它包含一些 EditView 来显示来电的信息:国家、当前时间、电话号码……我知道如何获取和显示这些信息。我面临的问题是我不知道如何显示我的活动而不是来电的标准屏幕。

现在它显示来电后的信息。

怎么做?

【问题讨论】:

  • @Sameer,我想显示我的活动而不是来电的标准屏幕。

标签: android android-layout android-activity


【解决方案1】:

这是不可能的。根据PhoneApp 用于启动InCallScreen 的intent 绑定到phoneapp,你没有机会拦截它。所以每次都会显示屏幕。

您可以尝试在手机进入 CALL_STATE_RINGING 状态时收到TelephonyManager 的通知,然后在 InCallScreen 上绘制您的 UI。这样做可能是可行的,但您无法从您的 UI 中摘机(不确定,但我不这么认为)。此外,当 InCallScreen 弹出时,状态不会立即设置,它会延迟一些毫秒。

【讨论】:

【解决方案2】:

查看有关在来电屏幕上显示弹出窗口的问题:
Popup over incoming-call screen
android incoming call screen

如果在来电 UI 上显示弹出窗口还不够,那么您可以让弹出窗口覆盖整个屏幕以隐藏它。此时,您需要一种方法来接听来电,而不显示默认的来电屏幕(您现在正在介绍)。快速搜索找到了this answer,它建议了一种解决方法来接受来电。我不确定是否有官方 API 可以做到这一点。

【讨论】:

    【解决方案3】:

    在安卓系统中,来电的默认用户界面是无法移除的,除非你修改安卓操作系统的编码。但是,您可以使用自己的自定义 UI 活动而不是默认活动。它是通过使用 Thread 概念来实现的(使自定义设计的 UI 成为默认的 UI)!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多