3

私たちは発信者IDアプリケーションを開発しており、これまで、デフォルトの着信画面を、http: //developer.android.com/reference/android/telephony/TelephonyManager.htmlwithCALL_STATE_RINGINGに続く独自のレイアウト/発信者ID画面に置き換えることができます。

ただし、私たちが直面している問題は次のとおりです
。a)電話が着信すると、デフォルトの着信画面が優先され、すぐに表示されます
。b)1〜2秒後に、発信者ID画面が表示されます。ユーザーエクスペリエンスを向上させるために、デフォルトの着信画面を完全に回避/抑制/遅延させたいと考えています。

4

2 に答える 2

5

デフォルトの画面を完全に非表示にする方法を見つけていません。ただし、startActivity がうまく機能するまでの遅延が小さい (500 ミリ秒) のは、私にとっては適切です。また、カスタム アクティビティを開始するために、インテントに次のフラグを設定しています。私のコードは次のようになります:

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);
        }
于 2011-04-13T18:46:03.897 に答える
0

ブロードキャスト レシーバーを使用すると、独自のダイアログ ボックスと画面​​を使用できます。

于 2012-03-14T06:16:43.017 に答える