Android上的来电显示 – 如何抑制/延迟默认来电屏幕?

我们正在开发来电显示应用程序,到目前为止,我们能够使用我们自己的布局/来电显示屏幕替换默认的来电屏幕,在http://developer.android.com/reference/android/telephony/TelephonyManager.html之后使用CALL_STATE_RINGING

但是,我们面临的问题如下:
a)当电话接到来电时,默认的来电屏幕获得优先权并立即显示
b)1-2秒后,我们的来电显示屏出现.
我们希望完全避免/抑制/延迟默认来电屏幕,以便用户体验更好.

解决方法:

我还没有找到完全抑制默认屏幕的方法.但是,startActivity之前的较小延迟(500毫秒)对我有用.
另外,我在我的Intent中有以下标志来启动我的自定义活动.我的代码看起来像:

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);
        }
上一篇:java-tm.getDeviceId()已弃用?


下一篇:telephonymanager – 使用Android获取电话美国本地区号