几天前,我在Android上发布了我的第一个应用程序。基本的概念是监测接近传感器,如果传感器有障碍物,我会增加一个计数器。如果柜台超过门槛,我会触发一个动作。Android 2.3.6更新后传感器管理器无法正常工作
我已经在一个服务中实现了传感器监控软件,这个服务从一个活动中每10分钟调用一次,以唤醒cpu并在服务停止时启动服务。
一切都很完美,在市场上有好几千的下载量和良好的评价。在Android 2.3.3之前这很好。最近我的手机升级到Android 2.3.6,不幸的是该应用程序没有按预期工作。
当屏幕关闭时,传感器监听器不会触发。有些时候,它工作的很好,大部分时间都不起作用。在传感器给出几个输入后,如果我打开屏幕一段时间后,传感器上的所有触发器都会自动立即被调用,并且计数器递增并触发该动作。
总之,当屏幕关闭(在Android 2.3.6)时,传感器侦听器不工作,直到Android 2.3.3才能正常工作。如果我连接调试器,手机不会进入睡眠状态,并且一切正常,所以我无法找到问题。请帮帮我 。
这是我的代码。在服务
每10分钟调用服务..
Thread trd = new Thread(){
public void run(){
int sec = 1000;
int min = 60 * sec;
Calendar cal = Calendar.getInstance();
alarmMngr.setRepeating(AlarmManager.RTC_WAKEUP,
cal.getTimeInMillis(),
10 * min,
PendInt);
}
};
trd.start();
在服务..
// On sensor change
public void onSensorChanged(SensorEvent event){
if(event.sensor == SnsrProx){
if(event.values[0] <= 5){
IncProxCntr(1);
}else{
IncProxCntr(0);
}
}
}
private void IncProxCntr(int x){
if(x == 1){
FakeCall_SnsrCnt++;
vibrate(VIBRATE_SHORT);
}
if(FakeCall_SnsrCnt >= Settings.getMaxSnsrCnts(this)){
Trig_IncominCall();
}
}
请帮我解决这个问题.. – Raghavendra
最后我解决了这个问题。在服务中获取唤醒锁也... – Raghavendra
如果您有答案,发布并接受它为了他人的利益,所以这个问题不会浮现为“未答复”。 – EboMike