gpt4 book ai didi

usb - Wakelock 仅适用于连接的 USB 电缆

转载 作者:行者123 更新时间:2023-11-29 22:05:00 35 4
gpt4 key购买 nike

我有一个很奇怪的问题。最近我尝试使用以下代码在我的应用程序中使用唤醒锁:

    /** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE);
screenLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "DoNotDimScreen");
button = (Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View view) {
System.out.println("Clicked");
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (!locked)
setKeepScreenOn(WakeupLightActivity.this, true);
else setKeepScreenOn(WakeupLightActivity.this, false);
System.out.println("Screen will stay on");
}
});
}

public void setKeepScreenOn(Activity activity, boolean keepScreenOn) {
if(keepScreenOn) {
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
this.screenLock.acquire();
}
else {
activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
this.screenLock.release();
}
}

wakelock 完美运行:按下按钮(并锁定我的手机)5 秒后屏幕打开。但是,此测试是在我的手机连接到我的笔记本电脑以使用 USB 数据线进行调试时完成的。

奇怪的部分来了。当我的手机没有连接 USB 数据线时,唤醒锁根本不会打开屏幕。我使用的设备是 HTC 的愿望。我实际上已经在另一个 HTC desire 上测试过它,它做了同样的事情。接下来,我在 HTC Desire HD 上试了一下。你猜怎么着:它又完美地工作了!我真的很困惑,想知道问题是否只是我手机类型的缺陷,或者我的代码是否做错了。有什么我可以做的吗?如果任何手机类型有故障的潜在客户在购买我的应用后遇到同样的问题,那将是非常尴尬的。

请注意,我在使用连接到墙上插头的电缆为手机充电时也尝试了该应用程序。这会导致与根本没有连接手机相同的问题。两款 HTC Desires 都运行相同的 Android 版本 (2.2.2)。

最佳答案

显然,这一切的发生仅仅是因为我使用了错误的标志。通过使用以下标志创建 WakeLock 解决了该问题:

PowerManager.SCREEN_BRIGHT_WAKE_LOCK|PowerManager.ACQUIRE_CAUSES_WAKEUP

关于usb - Wakelock 仅适用于连接的 USB 电缆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10936469/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com