我开发了一款应用程序,可在智能手机收到短信时自动加载。如何以编程方式打开屏幕(2014)
问题是,如果屏幕手机处于关闭状态或处于“黑色”模式,则在SMS到达时不会加载应用程序。我需要我的应用程序以编程方式打开屏幕。那可能吗?我发现了几个过去的答案,但没有人工作。
我想:
WindowManager.LayoutParams params =
getWindow().getAttributes();
params.flags |= WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0;
getWindow().setAttributes(params);
并试图:
super.onCreate(savedInstanceState);
setContentView(R.layout.my_main_activity);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
编辑:
我想建议:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
但STR安格伊Android Studio中给我的错误:
Cannot resolve symbol 'FLAG_SHOW_WHEN_LOCKED'
'2014'是什么? – 2014-09-26 19:46:07
因为我发现的几个答案是从2011年和2012年。我不知道这些是否因为更新的Android版本而过时。 – Delmonte 2014-09-26 20:17:22
你的目标API是什么?从API 5开始,FLAG_SHOW_WHEN_LOCKED就已经存在了,所以Studio不太可能抱怨这一点。此外,'Turn_Screen_On'方法的名称(除了它不是小写,每个约定),让我想知道你是如何尝试使用它的。你不应该调用这个...窗口标志应该在'onCreate()'中设置,所以无论何时你调出Activity,它都会打开屏幕,如果关闭的话。 – 323go 2014-09-26 21:03:14