上班時間喜歡把微信挂在電腦上,掃碼,手機微信彈出電腦登陸,點選,登陸。(這裡值得一說的是無論微信是否顯示在目前頁面都可以彈出來,當然将微信kill掉就彈不出來了)
如圖
以下demo模拟的是手機收到推送彈出對話框,使用者點選回到首頁面。
1、首先聲明dialog為系統級彈出,清單檔案中聲明
2、在接收推送的service中聲明dialog,我這裡模拟10秒鐘後收到推送
final Dialog dialog=new Dialog(this, R.style.MyDialogTheme);
//此代碼說明該dialog屬于系統級彈窗
dialog.getWindow().setType((WindowManager.LayoutParams.TYPE_SYSTEM_ALERT));
LayoutInflater inflater = LayoutInflater.from(this);
View viewDialog = inflater.inflate(R.layout.dialog, null);
DisplayMetrics dm = getResources().getDisplayMetrics();
int screenWidth = dm.widthPixels;
int screenHeight = dm.heightPixels;
//設定dialog的寬高為螢幕的寬高
ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(screenWidth, screenHeight);
dialog.setContentView(viewDialog, layoutParams);
Button button= (Button) viewDialog.findViewById(R.id.denglu);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainService.this, MainActivity.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
dialog.dismiss();
}
});
new Thread() {
public void run() {
SystemClock.sleep();
handler.post(new Runnable() {
@Override
public void run() {
dialog.show();
PXL.e("彈窗出來了");
}
});
}
}.start();
3、到此為止
其實就是系統級dialog的使用