首先,可以确定的一点是锁屏下弹出页面必须用Activity实现,用WindowManager和Dialog均不行,然后有个注意的地方就是某些手机默认是不允许应用在锁屏下弹出界面的,比如小米的MIUI和魅族的Flyme, 需要在设置中打开一项权限才可以:
并且这个权限不能像其他权限一样可以在代码中动态申请,只能用户手动选择允许。在我的手机上这个权限默认是禁止的,即便选择询问,有时也是不能弹出询问对话框的,必须选择允许才行。目测应该目前国内几大手机厂商出品的手机都会带这个功能。
因为在锁屏下可以弹出页面其实是一个危险的权限,需要得到用户的确认才行,否则你可以想象随便一个app就可以在锁屏下开启页面,那么它是不是可以抓取你的锁屏密码等用户隐私了。
下面是使用Activity在锁屏下弹出的方法步骤:
1. 设置要弹出的Activity页面
public class ScreenOnTestActivity extends Activity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_screen_on);
final Window w