Ersetzen Sie den nativen Bildschirm für ausgehende Anrufe durch einen benutzerdefinierten Bildschirm für Android

Ich versuche, meinen benutzerdefinierten Bildschirm über dem nativen Bildschirm für ausgehende Anrufe zu öffnen, der möglicherweise ein Vollbild des Anrufers und einige Schaltflächen für Aktionen wie das Abweisen eines Anrufs enthält. Auf diese Weise kann ich einen Anruf tätigen, leite mich jedoch zum nativen Anruferbildschirm weiter ...

Wie manreplace\override der Standard-Anrufbildschirm von meinem benutzerdefinierten Bildschirm?

startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phonenumber)));
public class GetOutgoingNUmber extends BroadcastReceiver {


final static String INTENT_PHONE_NUMBER = "android.intent.extra.PHONE_NUMBER";

@Override
public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub
    Log.v("DileBroadCastReceiver","In onReceive()");

    if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) {

         new Handler().postDelayed(new Runnable() {
             @Override
             public void run() {
                 Intent i = new Intent(context, OutGoingScreen.class);
                i.putExtras(intent);
                i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
                context.startActivity(i);
             }
         }, 1000);
}

Hier dient OutGoingScreen zur Anzeige des Ausgangsbildschirms

  public class OutGoingScreen extends Activity {
 @Override
    protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.outgoingscreen );

    }
}

Jetzt ist das Problem, dass mein Bildschirm für ein paar Millisekunden angezeigt wird und wieder der native Bildschirm angezeigt wird.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage