我正在从我的MainActivity触发AlertDialog并且它工作正常如下:
public void showCustomAlert(String text){
final String alertText = text;
runOnUiThread(new Runnable() {
@Override
public void run() {
AlertDialog.Builder myDialogBox = new AlertDialog.Builder(mContext);
myDialogBox.setTitle("Alert");
myDialogBox.setMessage(alertText);
myDialogBox.setCancelable(false);
myDialogBox.setPositiveButton("OK", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int whichButton) {
dialog.dismiss();
}
});
myDialogBox.setNegativeButton("Cancel", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
AlertDialog alertDialog = myDialogBox.create();
alertDialog.show();
}
});
}
当我在MainActivity上打开另一个活动并再次触发AlertBox时出现问题:它落后于该活动 . 当我关闭活动时,它是:AlertDialog正在显示 .
如何在顶部显示此AlertDialog?
注意:此AlertDialog由我的MainActivity上的推送通知侦听器触发,而不是由单击侦听器触发 .
1 回答
这是上下文问题,因为对话框使用相同的活动上下文,如果此对话框必须始终位于Top,则可以使用SYSTEM_ALERT_SERVICE来完成
注意“android.permission.SYSTEM_ALERT_WINDOW”权限 . 希望这可以解决您的问题 .