我想关闭屏幕。所以我尝试使用PowerManager类,但它没有关闭屏幕。
PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "");
wl.acquire();
答案 0 :(得分:1)
您可以通过覆盖系统屏幕关闭时间来关闭屏幕。
首先让系统关闭时间
int defaultTurnOffTime = Settings.System.getInt(getContentResolver(),Settings.System.SCREEN_OFF_TIMEOUT, 60000);
然后关闭时间
Settings.System.putInt(getContentResolver(),Settings.System.SCREEN_OFF_TIMEOUT, 1000);
当屏幕关闭时,设置默认关闭时间
Settings.System.putInt(getContentResolver(),Settings.System.SCREEN_OFF_TIMEOUT, defaultTurnOffTime);
添加以下权限
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
答案 1 :(得分:0)
问题不清楚你是否尝试过这个问题,但你可能需要确保你的清单中有:
任何使用WakeLock的应用程序都必须在应用程序清单的元素中请求android.permission.WAKE_LOCK权限。
您可能会看到另一个区域是logcat,以查看是否有任何堆栈跟踪或错误被记录,这可以为人们提供更多帮助。
答案 2 :(得分:0)
@SuperDev,将以下内容添加到清单中:
<uses-permission android:name="android.permission.WRITE_SETTINGS"
tools:ignore="ProtectedPermissions"/>
这将解决您的应用程序崩溃。