显示我的活动,而不是传入呼叫的​​标准屏幕

显示我的活动,而不是传入呼叫的​​标准屏幕

问题描述:

我正在开发Android 2.3.3的应用程序。它包含一些EditView,用于显示来电信息:国家,当前时间,电话号码......我知道如何获取并显示该信息。我面临的问题是我不知道如何显示我的活动而不是来电的标准屏幕。显示我的活动,而不是传入呼叫的​​标准屏幕

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

怎么办呢?

+0

这有什么需要? – Sameer 2012-02-13 06:25:34

+0

@Sameer,我想显示我的活动,而不是传入呼叫的​​标准屏幕。 – 2012-02-13 10:39:34

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

你可能尝试做的是由TelephonyManager通知当手机进入CALL_STATE_RINGING状态,然后画你的UI刚过InCallScreen。这样做可能是可能的,但是您无法从您的UI中摘掉电话(不确定,但我不这么认为)。当InCallScreen弹出时,状态也不会立即设置,它会延迟几毫秒。

+0

如何在InCallScreen上绘制我的UI? – 2012-02-13 11:22:39

+1

好问题,我不知道如何做到这一点。但是有一些方法(有些应用程序会覆盖系统中的所有其他应用程序)。你应该为这个特殊情况开始一个新的问题。编辑:[http://developer.android.com/reference/android/Manifest.permission.html#SYSTEM_ALERT_WINDOW]可能会帮助你 – Luminger 2012-02-13 13:40:10

+0

看到不可能! https://play.google.com/store/apps/details?id=com.androminigsm.fscifree&hl=en – 2012-04-07 22:44:42

看看如何显示在来电屏幕弹出窗口的问题:
Popup over incoming-call screen
android incoming call screen

如果没有足够显示了来电界面的弹出,那么你可以让你的弹出窗口覆盖整个屏幕以隐藏它。此时,您需要一种方法来接受来电,而不显示默认来电屏幕(您现在正在覆盖)。快速搜索发现this answer,这表明接受来电的解决方法。我不确定是否有官方的API来执行此操作。

除非您修改Android OS编码,否则不可能在android中删除传入呼叫的​​默认UI。但是,您可以使用自己的自定义用户界面活动。它是通过使用Thread概念来实现的(使定制设计的用户界面能够在默认界面中出现)!