android 注销传感器,android – 取消注册SensorManager不起作用

在我的应用程序中,我使用灯光和接近传感器来检测手机的口袋功能,然后在检测完成后取消注册SensorManager.但即使应用程序的CPU使用率仅显示1-2秒,电池使用情况也始终显示我的应用程序为否.列表中的1个应用程序令人担忧.

我使用了SensorManager.unRegisterListener并设置了SensorManager = null,但情况仍然相同.

我已经读过,由于某些错误,传感器未正确注销.有没有正确处理传感器的好方法?

请指导.

Omkar Ghaisas

更新了应用程序的代码示例 –

@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,但即便如此也无济于事.尽管调用了清理代码,但电池使用率仍然非常高.该应用程序本身不应该使用太多电池作为一个非常简单的应用程序,只有一个广播接收器和一个活动,但在活动中,我调用光和接近传感器,我怀疑这些导致电池使用量的峰值.不知道为什么.

任何帮助都非常值得赞赏.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值