service中調用dialog

在service中彈出dialog:

 Builder builder=new Builder(getApplicationContext());  
          builder.setTitle("Title");  
          builder.setMessage("This is message");  
          builder.setNegativeButton("確認", null);  
          Dialog dialog=builder.create();  
          dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);  
          dialog.show();

   dialog的顯示是需要依附於一個activity,如果需要在servcie中顯示需要把dialog設置成一個系統的dialog,即全局 性質的提示框,所以只要手機處於開機狀態,無論它現在處於何種界面之下,只要調用dialog.show(),就會彈出提示框來。需要在show() 調用之前添加以下代碼:
  dialog.getWindow().setType((WindowManager.LayoutParams.TYPE_SYSTEM_ALERT));
 注意:使用系統的Dialog需要在清單文件中添加權限,否則不會顯示出來
  android.permission.SYSTEM_ALERT_WINDOW
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章