帶進度條的Dialog:
private void showProgess(int progress) {
try {
mHandler.post(() -> {
if (dialog == null) {
dialog = new ProgressDialog(UpdateOTAImage.this);
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
dialog.setCancelable(false);
dialog.setCanceledOnTouchOutside(false);
dialog.setTitle(UpdateOTAImage.this.getString(R.string.system_update));
dialog.setMax(100);
dialog.setMessage(UpdateOTAImage.this.getString(R.string.update_progress));
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
}
if (!dialog.isShowing()) {
dialog.show();
} else if (progress == 100) {
dialog.dismiss();
if(!readytoreboot) {
rebootOrCancel();
}
} else if (progress > 0) {
dialog.setProgress(progress);
}
});
}catch (Exception e){
e.printStackTrace();
}
}
一般AlertDialog
private void waitDialog(){
try {
mHandler.post(() -> {
waitDialog = new ProgressDialog(this);
waitDialog.setTitle(getString(R.string.wait_load_file));
waitDialog.setCancelable(true);
waitDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
waitDialog.show();
});
}catch (Exception e){
e.printStackTrace();
}
}