나는 서비스 클래스를 사용하여 매번 다시 배경에서 응용 프로그램을 실행하여 작업하고 있습니다. 서비스 클래스는 바닥에서 실행됩니다. 내 서비스 클래스에서 나는 매 시간마다 배경을 달리기 위해 시간을 사용했습니다. .이 경우에는 내 에뮬레이터에서 오류가 발생하지 않지만 내 응용 프로그램을 실행하면 실제 장치가 나는 치명적인 예외 타이머 0 오류가 발생합니다. 나는 다음과 같이 내가 오류를 얻고있다 위의 구현을 실행하면FATAL EXCEPTION 타이머 -0을 해결하는 방법은 무엇입니까?
이public class RepeatService extends Service
{
ArrayList<ShoutMessage> resultMessage;
private Timer timer = new Timer();
private static final long UPDATE_INTERVAL = 30000;
@Override
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onCreate() {
pollForUpdates();
super.onCreate();
}
private void pollForUpdates() {
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
resultShoutMessage = new ParseXml().convertMessages(new Model().getMessages(getID));
for(int i=0;i<resultMessage.size();i++)
{
String userID = resultMessage.get(i).getUserID();
String userName = resultMessage.get(i).getUserFirstName();
String messageID= resultMessage.get(i).getMessageID();
String userMessage=resultMessage.get(i).getMessageText();
}
intent.setAction("com.sample.presentationLayer");
sendBroadcast(intent); // finally broadcast
}
}, 0, UPDATE_INTERVAL);
}
@Override
public void onDestroy() {
timer.cancel();
super.onDestroy();
}
}
:
01-01 01:18:34.414: ERROR/AndroidRuntime(2049): FATAL EXCEPTION: Timer-0
01-01 01:18:34.414: ERROR/AndroidRuntime(2049): java.lang.NullPointerException
01-01 01:18:34.414: ERROR/AndroidRuntime(2049): at com.fitzgerald.presentationLayer.RepeatService$1.run(RepeatService.java:63)
01-01 01:18:34.414: ERROR/AndroidRuntime(2049): at java.util.Timer$TimerImpl.run(Timer.java:289)
어떻게 내가 해결할 수 다음과 같이
나는 내 응용 프로그램을 구현 한 위의 문제는 내 신청서에 있습니까?
어떤 몸은 나를
게시 전체 스택 추적 .. 자세한 로그 정보. 또한 가능한 경우 완전한 서비스 코드를 게시하십시오. – user370305
'AlarmManager' 사용을 고려해보십시오. 귀하의 디자인보다 낫습니다 : http://developer.android.com/reference/android/app/AlarmManager.html –