「已注销」 2017-08-16 07:56 采纳率: 0%
浏览 1594

重新问一下,难道没有人遇到过这个问题?关于在锁屏之上显示Activity的。

之前的提问可能描述的不太清楚,其实就是简单一句话:如何用没有被标记为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();
  • 写回答

1条回答 默认 最新

  • 昵称_Justin 2017-08-16 10:11
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办