android 如何监听屏幕当前是否全屏? 5
在我的应用程序中,我要想监听到屏幕是否是全屏,系统进行全屏切换时会发什么广播?在我的程序中不知道为什么,无法使用View.setOnSystemUiVisibilityC...
在我的应用程序中,我要想监听到屏幕是否是全屏,系统进行全屏切换时会发什么广播?
在我的程序中不知道为什么,无法使用View.setOnSystemUiVisibilityChangeListener进行监听,因为我是一个WindowsManager下的Window,type为LayoutParams.TYPE_PHONE 展开
在我的程序中不知道为什么,无法使用View.setOnSystemUiVisibilityChangeListener进行监听,因为我是一个WindowsManager下的Window,type为LayoutParams.TYPE_PHONE 展开
3个回答
展开全部
可以在屏幕的Activity加监听屏幕属性改变,发生改变则检查当前是否全屏状态。
是全屏状态发送,全屏的广播消息,到监听应用触发操作。
@Override
public void onWindowAttributesChanged(LayoutParams params) {
// TODO Auto-generated method stub
super.onWindowAttributesChanged(params);
Log.e(TAG,"onWindowAttributesChanged()"+getWindow().getAttributes().flags);
if (WindowManager.LayoutParams.FLAG_FULLSCREEN == getWindow().getAttributes().flags) {
Log.e(TAG,"onWindowAttributesChanged() FLAG_FULLSCREEN");
}
}
(注意该判断在屏幕切换横竖屏是也会触发,需要根据实际情况过滤横竖屏切换的情况。)
是全屏状态发送,全屏的广播消息,到监听应用触发操作。
@Override
public void onWindowAttributesChanged(LayoutParams params) {
// TODO Auto-generated method stub
super.onWindowAttributesChanged(params);
Log.e(TAG,"onWindowAttributesChanged()"+getWindow().getAttributes().flags);
if (WindowManager.LayoutParams.FLAG_FULLSCREEN == getWindow().getAttributes().flags) {
Log.e(TAG,"onWindowAttributesChanged() FLAG_FULLSCREEN");
}
}
(注意该判断在屏幕切换横竖屏是也会触发,需要根据实际情况过滤横竖屏切换的情况。)
展开全部
//设置全屏
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
追问
不知道是我描述有问题还是你看的不清楚,我是要监听当前屏幕是否是全屏,可以理解为我的程序是运行在后台的舒服,我想要知道别的应用,当前正在运行的应用是否是全屏,还是非全屏,除了使用View.setOnSystemUiVisibilityChangeListener 方法外
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-09
展开全部
太复杂了。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询