前言
记录一个在锁屏页面弹出Activity或者悬浮窗的功能。如果需要实现悬浮窗只需要把activity设置成对话框即可。另外这种锁屏弹出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 );