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