gpt4 book ai didi

android - 注销 SensorManager 不起作用

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

在我的应用中,我使用光线和接近传感器来检测手机自掏腰包功能,然后在检测完成后注销 SensorManager。但是,即使应用程序的 CPU 使用率仅显示 1-2 秒,电池使用率始终显示我的应用程序为否。令人担忧的列表中有 1 个应用。

我已经使用了SensorManager.unRegisterListener,也设置了SensorManager = null,但是情况还是一样。

我读到,由于某些错误,传感器未正确注销。有什么正确放置传感器的好方法吗?

请指导。欧姆卡盖萨斯

更新了来自应用程序的代码示例 -

@Override
protected void onPause()
{
super.onPause();
unHookReceiver();
}

private void unHookReceiver()
{
if (r != null)
{
unregisterReceiver(r);
if(GetProximityPreference("EnableReceiveByProximity"))
{
mySensorManager.unregisterListener(proximitySensorEventListener);
mySensorManager.unregisterListener(lightSensorEventListener);
mySensorManager = null;
FileUtils.appendLog(FileUtils.GetCurrentDateTime() + " Power Consumption Log End");
FileUtils.appendLog("------------------------------------------------");
}
r = null;
}
}

我还根据 stackpverflow 上一篇帖子的建议设置了 sensorManager = null,但即使那样也无济于事。尽管调用了清理代码,但电池使用率仍然很高。该应用程序本身不应该使用太多电池,因为它是一个非常简单的应用程序,只有一个广播接收器和一个 Activity ,但在该 Activity 中,我调用了光和接近传感器,我怀疑它们会导调用池使用量激增。虽然不知道为什么。

非常感谢任何帮助。

最佳答案

mSensorManager.registerListener(YourListener.this, mSensorManager
.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION),
SensorManager.SENSOR_DELAY_NORMAL);

以此来注册您的监听器...然后运行您的unregisterListener

关于android - 注销 SensorManager 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11071035/

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