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 :(得分: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,以便在单击通知时将用户发送回您的应用。进入应用程序后,用户可以选择关闭振动。
错过的电话通常不会中断用户正在做的其他工作。