我想在本機傳出呼叫者屏幕上啓動我的自定義屏幕,該屏幕可能包含呼叫者的全屏幕圖像以及某些按鈕,例如拒絕呼叫等操作。使用此功能,我可以打電話,但將我重定向到本機來電屏幕...用自定義屏幕替換本地傳出呼叫屏幕android
如何replace\override
我的自定義屏幕屏幕的默認呼叫屏幕?
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);
}
這裏OutGoingScreen是顯示屏幕傳出
public class OutGoingScreen extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.outgoingscreen);
}
}
現在的問題是它顯示我的幾毫秒屏幕,再次顯示本機屏幕....?
我已經編輯了我的代碼。謝謝。但仍然沒有得到我的屏幕。 – Aniket
如何推遲?我應該使用Runnable使用Handler postDelayed()方法.... – Aniket
是的是的,你必須使用runnable –