我们正在开发来电显示应用程序,到目前为止,我们可以用我们自己的布局替换默认的来电屏幕/来电显示屏幕,遵循CALL_STATE_RINGING的http://developer.android.com/reference/android/telephony/TelephonyManager.html
然而,我们面临的问题如下:
a)当电话收到来电时,默认的来电屏幕将获得优先级并立即显示
b) 1-2秒后,我们的呼叫者ID屏幕出现。我们希望完全避免/抑制/延迟默认来电屏幕,以便用户体验更好。
发布于 2011-04-14 02:46:04
我还没有找到一种完全禁止默认屏幕的方法。然而,在startActivity之前有一个较小的延迟(500ms)对我来说很好。此外,我还准备了以下标志来启动我的自定义活动。我的代码看起来像这样:
if (TelephonyManager.EXTRA_STATE_RINGING.equals(state))
{
SystemClock.sleep(500 * 1);
Log.d("MPR", "Its Ringing [" + number + "]");
Intent startMain = new Intent();
startMain.setClassName("com.foo.TIC", "com.foo.TIC.TestInComing");
startMain.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_NO_USER_ACTION);
startMain.putExtra("PNO", number);
context.startActivity(startMain);
}
发布于 2012-03-14 14:16:43
如果我们使用广播接收器,那么就可以使用我们自己的对话框和屏幕。
https://stackoverflow.com/questions/5653874
复制相似问题