前言
記錄一個在鎖屏頁面彈出Activity或者懸浮窗的功能。如果需要實現懸浮窗只需要把activity設置成對話框即可。另外這種鎖屏彈出activity,要求app必需在后台存活。
注意
需要在鎖屏頁面彈出Activity,需要在設置-應用-權限管理里手動給App授權【允許應用在鎖屏上顯示】,【允許應用在后台彈出界面】,【顯示懸浮窗】
權限
<!-- 保持屏幕亮起權限 --> <uses-permission android:name="android.permission.WAKE_LOCK" > </uses-permission> <uses-permission android:name="android.permission.DISABLE_KEYGUARD" > </uses-permission>
清單配置
<!-- 來電提示界面 --> <activity android:name="com.lanting.uestc.speaking.ui.IncallNotificationActivity" android:launchMode="singleInstance" android:excludeFromRecents="true" android:screenOrientation="portrait" > </activity>
activity中在setContentView()之前設置Window屬性。
// 設置點亮屏幕 getWindow().addFlags( WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON );