拦截了Android的操作系统来电屏幕和替换 [英] intercept the Android's OS incoming call screen and replace

查看:158
本文介绍了拦截了Android的操作系统来电屏幕和替换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想拦截了Android的操作系统来电屏幕,并与我的应用程序的来电屏幕取代。然而,没有API的话,但我知道肯定有可能为4个不同的公司来实现这一点; 该公司我说的是:Adaffix(Yellix),Vringo,白页来电显示等等。他们都清晰地替换他们的应用程序的来电屏幕的操作系统来电屏幕的呼叫到达(无延迟,无毛刺,它始终工作)。

I would like to intercept the Android's OS incoming call screen and replace it with my app's incoming call screen. However, there is no API to do so, but I know for sure it is possible as 4 different companies implemented this; The companies I'm talking about are: Adaffix (Yellix), Vringo, WhitePages Caller ID and more. They are all cleanly replaces the OS incoming call screen with their app's incoming call screen as the call arrives (no delay, no glitches, it is always working).

我能找到部分解决,但这种解决方案并不稳定,因为有时它显示我的应用程序来电屏幕有时OS来电屏幕。每次调用它的反应不同。

I was able to find a partial solution but this solution is not stable, as sometimes it is showing my app incoming call screen and sometimes the OS incoming call screen. each call it reacts differently.

你有什么想法?

推荐答案

您将要覆盖本机屏幕与控制(也许一个对话框)当你android.intent.action.PHONE_STATE振铃。

You will have to overlay the native screen with a control(maybe a dialog box) when you get android.intent.action.PHONE_STATE as ringing.

您必须先注册一个BroadcastReceiver的行动android.intent.action.PHONE_STATE。

You have to register a BroadcastReceiver for the action android.intent.action.PHONE_STATE.

接收意图将具有可变TelephonyManager.EXTRA_STATE_RINGING这将有当前状态

The receiving intent will have a variable TelephonyManager.EXTRA_STATE_RINGING which will have the current state.

让我知道!

这篇关于拦截了Android的操作系统来电屏幕和替换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆