getApplication 下显示Dialog
2015-11-18 本文已影响1863人
幸福的程序媛
今天遇到一个问题,在非Activity里面显示Dialog对话框,当然可以将Activity的引用传进去,但如果你不方便获取到当前的Activity或者不在Activity里面,使用Application的context时 ,如果你按照原来在Activity里面显示Dialog的写法可能就会遇到问题了,会报错。这时你可以这样写。
public class App extends Application{
@Override
public voidonCreate() {
super.onCreate();
AlertDialog.Builderbuilder=newAlertDialog.Builder(getApplicationContext());
builder.setTitle(" i am title");
builder.setView(R.layout.content);
Dialogdialog=builder.create();
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
dialog.show();
}
}
但要注意的是要加上android.permission.SYSTEM_ALERT_WINDOW 权限。
这样的显示出来的对话框早于Activity之前就创建出来了。
工作记录。