0

有未接来电时的警报对话框 我想在有未接来电时振动电话并显示对话警报以停止振动

要使用我正在使用此代码的对话框

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

2 回答 2

1

您无法获取未接来电的事件/广播/通知,但您可以获取ACTION_PHONE_STATE_CHANGED的事件,按照EXTRA_STATE_RINGINGEXTRA_STATE_OFFHOOKEXTRA_STATE_IDLE的顺序跟踪事件

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

为了您的纵容,这里是获取通话记录的代码示例

礼貌:AndDev.org

于 2012-06-29T19:52:26.113 回答
0

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

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

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

未接来电通常不会中断用户正在进行的其他工作。

于 2012-06-29T21:34:04.343 回答