在dialog.show()語句前加入:
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
然后在AndroidManifest.xml中加入權限:
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
下面進行簡單的解釋:
如果只在Service中寫入常在Activity中使用的創建Dialog的代碼,運行時是會發生錯誤的,因為Dialog的顯示需要依附於一個確定的Activity類。而以上做法就是聲明我們要彈出的這個提示框是一個系統的提示框,即全局性質的提示框,所以只要手機處於開機狀態,無論它現在處於何種界面之下,只要調用dialog.show(),就會彈出提示框來。