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.