当有未接来电时,alertdialog

时间:2012-06-29 19:42:18

标签: android alter

未接来电时

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();

2 个答案:

答案 0 :(得分:1)

您无法获取未接来电的事件/广播/通知,但您可以通过此顺序跟踪事件来获取 ACTION_PHONE_STATE_CHANGED 的事件 EXTRA_STATE_RINGING EXTRA_STATE_OFFHOOK EXTRA_STATE_IDLE

在此之后,您可以查看通话记录并找到未接来电详细信息。

对于您的纵容here是用于获取呼叫记录的代码示例

礼貌:AndDev.org

答案 1 :(得分:0)

但是,您尝试实施的设计模式不是首选。

Android本身会通知用户未接来电。根据用户的振动设置,手机会振动。

如果您愿意,可以在收到ACTION_PHONE_STATE_CHANGED后自行查看通话记录,并根据它,发送通知。显示对话框是一种令人讨厌的方法,它会中断正常的任务流程。您可以为通知实现内容Intent,以便在单击通知时将用户发送回您的应用。进入应用程序后,用户可以选择关闭振动。

错过的电话通常不会中断用户正在做的其他工作。