我有一个Android应用程序,我想保持屏幕。但有时我不想保持屏幕。我能做些什么呢?
编辑:我已使用此代码设置我的屏幕:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
答案 0 :(得分:0)
查看文档 -
android:keepScreenOn="true"
布局或编程
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
https://developer.android.com/training/scheduling/wakelock.html
答案 1 :(得分:0)
您的问题不明确,但我想您正在寻找此问题。你可以用语法做到这一点。
或将其添加到您的布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:keepScreenOn="true">
...
</RelativeLayout>
答案 2 :(得分:0)
查找活动的根布局。例如,如果根布局是 LinearLayout
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_xml);
LinearLayout root = (LinearLayout) findViewById(R.id.root_container):
// and according to your preference you can set
root.setKeepScreenOn(true/false);
官方文件说
/**
* Controls whether the screen should remain on, modifying the
* value of {@link #KEEP_SCREEN_ON}.
*
* @param keepScreenOn Supply true to set {@link #KEEP_SCREEN_ON}.
*
* @see #getKeepScreenOn()
*/
如需更多参考,请点击this链接
答案 3 :(得分:0)
如果您的应用程序不需要保持屏幕,请使用以下代码清除FLAG_KEEP_SCREEN_ON
标志:
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
答案 4 :(得分:0)
你应该用这个:
<uses-permission android:name="android.permission.WAKE_LOCK" />
然后:
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakelockTag");
wakeLock.acquire();
希望这有帮助。