如何在service中彈出dialog

2021-07-05 16:10:19 字數 1095 閱讀 4452

如何在service中彈出dialog

0我們都知道service是沒有介面的,默默的在後台執行邏輯**,有時候需要和前台有所互動,如:toast或彈出提示框等等

在service中彈出toast很簡單,只要使用handler就可搞定,**如下

hanlder.post(new runnable()

});而在service中彈出dialog時,如果寫和activity同樣的**時會報錯

因為這個dialog的顯示是需要依附於乙個activity,如果需要在servcie中顯示需要把dialog設定成乙個系統的dialog,即全域性性質的提示框,所以只要手機處於開機狀態,無論它現在處於何種介面之下,只要呼叫alter.show(),就會彈出提示框來。需要在show() 呼叫之前新增以下**:

dialog.getwindow().settype((windowmanager.layoutparams.type_system_alert));

注意:使用系統的dialog需要在清單檔案中新增許可權,否則不會顯示出來

android.permission.system_alert_window

全部**

builder builder = new alertdialog.builder(this);

builder.settitle("提示");

builder.setmessage("該下車了");

builder.setnegativebutton("取消", new onclicklistener()

});builder.setpositivebutton("確定", new onclicklistener()

});final alertdialog dialog = builder.create();

**//在dialog  show方法之前新增如下**,表示該dialog是乙個系統的dialog**

dialog.getwindow().settype((windowmanager.layoutparams.type_system_alert));

new thread()

});};

}.start();

}

如何在service中彈出dialog

更新於 05月09日 訪問 2071 我們都知道service是沒有介面的,默默的在後台執行邏輯 有時候需要和前台有所互動,如 toast或彈出提示框等等 在service中彈出toast很簡單,只要使用handler就可搞定,如下 123456 hanlder post new runnable ...

如何在service中彈出dialog

更新於 05月09日 訪問 3344 我們都知道service是沒有介面的,默默的在後台執行邏輯 有時候需要和前台有所互動,如 toast或彈出提示框等等 在service中彈出toast很簡單,只要使用handler就可搞定,如下 123456 hanlder post new runnable ...

如何在service中彈出dialog

在service中彈出toast很簡單,只要使用handler就可搞定,如下 hanlder.post new runnable 而在service中彈出dialog時,如果寫和activity同樣的 時會報錯 因為這個dialog的顯示是需要依附於乙個activity,如果需要在servcie中顯...