2012-06-29 68 views
0

alertdialog當有未接來電 我希望當有未接來電振動電話並顯示dialogallert停止振動alertdialog當有未接來電

要使用我的對話使用此代碼

AlertDialog.Builder alertDialog = new AlertDialog.Builder(MainActivity.this); 
          alertDialog.setTitle("Call"); 
          alertDialog.setMessage("show this?"); 

          // "Yes" Button 
          alertDialog.setPositiveButton("YES", new DialogInterface.OnClickListener() { 
           public void onClick(DialogInterface dialog,int which) 
           { 

           Toast.makeText(getApplicationContext(), "You clicked      YES", Toast.LENGTH_SHORT).show(); 
           } 
          }); 

          // "NO" Button 
          alertDialog.setNegativeButton("NO", new DialogInterface.OnClickListener() { 
           public void onClick(DialogInterface dialog, int which) { 
           // Write your code here to invoke NO event 
           Toast.makeText(getApplicationContext(), "You clicked NO", Toast.LENGTH_SHORT).show(); 
           dialog.cancel(); 
           } 
          }); 


          alertDialog.show(); 
+0

問題是什麼? – kosa

+0

您需要幫助才能通過對話框獲得缺席電話狀態幫助或anu問題? –

+0

我想在有未接電話時振動電話,並顯示對話框以阻止振動 – koale

回答

1

你不能遺漏呼叫事件/廣播/通知,但你可以從保持事件的軌道順序的ACTION_PHONE_STATE_CHANGED事件 EXTRA_STATE_RINGINGEXTRA_STATE_OFFHOOKEXTRA_STATE_IDLE

在此之後,你可以查看呼叫記錄,發現未接來電的細節。

爲了您的縱容here是獲取通話記錄

禮貌的代碼示例:AndDev.org

+1

與該代碼,以便我可以獲取所有未接電話?因爲我想檢測是否有未接電話,未讀 最後我想振動電話時有一個未接電話,並顯示對話框以阻止振動 – koale

0

但是,你想實現設計模式是不理想的。

Android本身會通知用戶未接來電。根據用戶的振動設置,手機會振動。

如果您願意,您可以在收到ACTION_PHONE_STATE_CHANGED時自行檢查通話記錄,並根據該通知,您應該發送通知。顯示對話框是一種煩人的方法,它會中斷正常的任務流程。您可以實施內容意圖,以便在單擊通知時將用戶發送回您的應用程序。一旦進入您的應用程序,用戶可以選擇關閉振動。

未接來電通常不會中斷用戶正在做的其他工作。

+0

謝謝!! 我可以使用狀態通知代替altertdialog,但問題是一樣的 我希望手機在通話中斷時振動,並看到Notify停止振動,實際上手機會繼續振動(未接來電),直到它變成「單擊」通知。 NotificationManager能夠創建它,但我不知道如何檢測未接電話, 抱歉早... – koale