如何解决在外部应用程序中保持屏幕开启
我想在 Activity 的整个生命周期内保持屏幕开启。我们将此称为活动 A。我通过设置
android:keepScreenOn="true"
在 xml 中。这在大多数屏幕上都可以完美运行。但是,Activity A 启动了 Activity B,后者用于应用程序的其他部分。有没有办法强制 Activity B 在从 Activity A 启动时保持屏幕开启?我读过我应该避免使用唤醒锁;我很好奇其他人对此有何看法。
解决方法
您可以通过以下方式进行设置:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
如果您只希望 Activity B 在从 Activity A 启动时保持屏幕开启,您可以这样实现:
当 A 启动 B 时,在 Intent 上发送一个额外的值,在 B 上,onCreate() 检查是否有发送的值,并且仅当它找到了来自 A 的值。
public class ActivityB extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_b);
Bundle extras = getIntent().getExtras();
if(extras != null)
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。