本人在Service中开启了一个定时器,每隔一段时间,通过GPS获取位置,但是服务运行30-40分钟后,不再获取位置(服务还在运行中),在程序中也加了PowerManager相关的操作,在2.2(包括2.2)之前的版本都没问题,在2.3上就不行了,通过查看logcat,发现了这样的错误ERROR/NetStatUtils(2322): The apnName is null, should be some error...和ERROR/dalvikvm(2338): could not disable core file generation for pid 2338: Operation not permitted
其中pid 2338指的是我自己服务的pid......................
求助!这个是什么错误,如何解决?
其中pid 2338指的是我自己服务的pid......................
求助!这个是什么错误,如何解决?
在电源管理应用方面,Android2.3采取了更加积极的策略。通过在合理情况下关闭后台应用,确保了最高的性能和最长的续航时间。
public int onStartCommand(Intent intent, int flags, int startId)
{
// TODO Auto-generated method stub
pm = (PowerManager) getApplicationContext().getSystemServic(Context.POWER_SERVICE);
wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Service");
wakeLock.acquire();
wakeLock.setReferenceCounted(false);
timeTask();//定时器
return super.onStartCommand(intent, flags, startId);
}Timer mTtimer = new Timer();
public void timeTask()
{
mTtimer.schedule(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
dealGPS();//处理GPS定位 }
}
}, 1000,1000);
}
这是关键代码,麻烦你看看.....