2012-04-20 37 views
0

我在Android環境中頗爲新穎。在4.0.3的EXTRA_STATE_OFFHOOK(傳出呼叫)後無法啓動活動

這個問題發生在android 4.0.3上,但它在android 2.2上工作。我可以在打出電話後開始活動。我只想在打電話時將我的活動回覆到前臺。但它在android 2.2上工作,但它不適用於4.0.3。

這是我的代碼。此代碼在傳入狀態的兩個版本上工作。 但是它在4.0.3上不適用於即將離任的意圖。我從BroadcastReceiver稱這個意圖。請注意,我不想結束電話呼叫活動,而我的活動處於前臺狀態。我在Mainfest.xml中將啓動模式設置爲「singleInstance」。

Toast.makeText(context, "Should Start Activity", Toast.LENGTH_LONG).show(); 
       Intent callsensorintent = new Intent(); 
       callsensorintent.setFlags(
         Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT 
         |Intent.FLAG_ACTIVITY_REORDER_TO_FRONT 
         |Intent.FLAG_ACTIVITY_NEW_TASK 
         ); 
       callsensorintent.setClassName(context,"com.example.test.sg.SensorUdp"); 
       context.startActivity(callsensorintent); 

感謝

回答

0

上ICS呼叫屏幕具有更高的優先級比以前,所以它會顯示在上面勝於一切,當它在前臺。現在甚至比通知菜單/窗簾的優先級更高。 您可以爲應用程序使用更高的窗口優先級,例如WindowManager.LayoutParams.TYPE_SYSTEM_ALERT

+1

謝謝Sveinung Kval, 我通過添加TimerTask解決了這個問題。我讓呼叫屏幕首先進入前景,一秒後,我將我的活動稱爲前景。它正在工作。不管怎麼說,還是要謝謝你。 – Kaung 2012-04-24 08:39:08