之前的提问可能描述的不太清楚,其实就是简单一句话:如何用没有被标记为Deprecated的方法点亮屏幕并显示一个之前已经打开的Activity?
问题场景如下:
用户打开一个Activity,Activity正常显示,用户关闭手机屏幕(也就是锁屏)(关闭屏幕之前不退出Activity),那么,如何通过编程的方式,在不使用标记为Deprecated的方法的前提下打开屏幕并让这个Activity显示?
类似但本质不同的场景:
用QQ或者微信视频聊天就类似上面的场景,但又有本质区别,比如,你关着手机屏幕的时候好友向你发起拨号请求,那么手机会亮屏并显示一个接听界面,你选择接听,就进入聊天界面,如果挂断,接听界面就退出了。这个场景就是我所说的锁屏之上显示的问题,但是,不管是QQ的视频接听界面还是视频聊天界面,都只是在收到通知后显示,工作完成后退出,你永远不可能在没有聊天对象的情况下手动打开一个接听界面,然后关闭屏幕,然后等待着好友向你拨号,然后看这个接听界面是不是能点亮屏幕并显示自己,所以这是我所说的本质区别,就是QQ和微信的接听界面每次需要点亮屏幕的时候都是其全新打开的时候,而不是其处在后台的时候。因此用谷歌介绍的方法
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
mWakeLock = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "VideoChat");
mWakeLock.acquire();
可以正常实现功能,但是通过Google搜索没有找到办法能解决我所面临的问题,前提是在不使用被标记为Deprecated的方法的情况下。使用Deprecated的方法如下:
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
mWakeLock = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "VideoChat");
mWakeLock.acquire();
http://blog.csdn.net/qq_33756493/article/details/75669705 实现这个方法试试