我正在执行AsyncTask以调用应用程序中的API调用。并将API响应显示为警报。我已经写过API调用主屏幕上的活动,并在主屏幕上显示警报。但如果我从那个活动转移到另一个活动,一旦我回到主屏幕,就会看到警报。未显示在所有活动之上。因此,我的要求是,一旦API成功,就在所有活动上显示警报。
警报代码:
private void AlertSubmitted(String message) {
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
LayoutInflater inflater = this.getLayoutInflater();
View dialogView = inflater.inflate(R.layout.alertlayout, null);
dialogBuilder.setView(dialogView);
dialogBuilder.setCancelable(false);
TextView btn_ok = dialogView.findViewById(R.id.btn_ok);
TextView txt_dia = dialogView.findViewById(R.id.txt_dia);
txt_dia.setText(message);
if(subAlertDialog != null && subAlertDialog.isShowing()) {
return;
}
subAlertDialog = dialogBuilder.create();
subAlertDialog.show();
btn_ok.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
dbManager.deleteData();
text.setVisibility(View.GONE);
subAlertDialog.dismiss();
return false;
}
});
}
此函数是从受保护的void onPostExecute(String s(调用的。
如果您想在所有屏幕上显示一个对话框,请尝试在Service中实现下载代码。
之后,您可以展开自定义视图以显示为对话框布局。然后显示视图当API调用正在进行时,在完成API调用后,显示您从服务中膨胀的布局。当用户点击关闭按钮或您想要的方式时,它将被取消。
若要提供服务,请尝试搜索Facebook chathead service example android
。它将为您提供一些创建此类服务的好例子。