今天遇到一個問題,在非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之前就創建出來了。
?
工作記錄。