在Service中使用提示框无非两种方式。一种是使用系统级的对话框,另一种是使用一个设置为对话框模式的Activity。但是,如果Service需要响应对话框的按钮的话,第二种方式就变得很麻烦了。这里只讨论第一种方式。
以下为对话框代码:
AlertDialog.Builder mBuilder=new Builder(UpgradeService.this);
mBuilder.setTitle("升级提示");
mBuilder.setMessage("检测到新版本,是否升级?");
mBuilder.setPositiveButton("升级", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
getUpgradeFile(listUpgrade);
}
});
mBuilder.setNegativeButton("取消", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
Dialog mDialog=mBuilder.create();
//设置为系统级对话框
mDialog. getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
mDialog.show();
还要加入权限:
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>