Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android中的屏幕开/关切换代码_Android_Screen_Proximity_Wakelock - Fatal编程技术网

Android中的屏幕开/关切换代码

Android中的屏幕开/关切换代码,android,screen,proximity,wakelock,Android,Screen,Proximity,Wakelock,关于StackOverflow,已经有一些关于打开/关闭屏幕的问题,但是没有一个解决方案适合我 我不想使用wakelock,因为不再推荐它。我的应用程序使用WindowManager.LayoutParams.FLAG_TURN_screen_ON唤醒屏幕,这要简单得多,并且不会导致在忘记释放电池时耗尽整个电池的情况 像下面的代码一样将亮度设置为0也不起作用。在我的两款测试手机(三星Galaxy S2和S3)上,该代码只会使屏幕变暗,但不会将其关闭 layoutParam.screenBrigh

关于StackOverflow,已经有一些关于打开/关闭屏幕的问题,但是没有一个解决方案适合我

  • 我不想使用wakelock,因为不再推荐它。我的应用程序使用WindowManager.LayoutParams.FLAG_TURN_screen_ON唤醒屏幕,这要简单得多,并且不会导致在忘记释放电池时耗尽整个电池的情况

  • 像下面的代码一样将亮度设置为0也不起作用。在我的两款测试手机(三星Galaxy S2和S3)上,该代码只会使屏幕变暗,但不会将其关闭

    layoutParam.screenBrightness = 0;
    layoutParam.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
    getWindow().setAttributes(layoutParam);
    

  • 我的场景-这是一个VoIP应用程序,它打开屏幕接听来电,但如果用户将手机举到脸上,则需要关闭屏幕(但保持CPU运行)。接近传感器代码运行正常。

    您是否尝试过更改
    屏幕关闭超时值

    Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, 1000);
    
    1000的值表示1000毫秒或1秒,如果需要,可以更改它。 之后,将其更改回标准,如下所示

    Settings.System.putInt(getContentResolver(),Settings.System.SCREEN_OFF_TIMEOUT,-1);
    
    这需要清单文件中的权限:

    <uses-permission android:name="android.permission.WRITE_SETTINGS"/>