关于android应用程序中的屏幕

时间:2017-06-06 11:42:49

标签: java android screen

我有一个Android应用程序,我想保持屏幕。但有时我不想保持屏幕。我能做些什么呢?

编辑:我已使用此代码设置我的屏幕:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

5 个答案:

答案 0 :(得分:0)

查看文档 -

android:keepScreenOn="true"

布局或编程

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

https://developer.android.com/training/scheduling/wakelock.html

答案 1 :(得分:0)

您的问题不明确,但我想您正在寻找此问题。你可以用语法做到这一点。

Keep Screen Awake

或将其添加到您的布局

<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();

希望这有帮助。