Как решить FATAL EXCEPTION Timer-0? - PullRequest
1 голос
/ 06 марта 2012

Я работаю с приложением, используя класс Service для запуска приложения на заднем плане каждый раз. Класс обслуживания будет запускаться на заднем плане. В своем классе обслуживания я использовал Time для запуска своего заднего плана на каждомвремя. В этом случае я не получаю ошибку в моем эмуляторе, но если я запускаю свое приложение на реальном устройстве, я получаю ФАТАЛЬНОЕ ИСКЛЮЧЕНИЕ Ошибка таймера-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)

Как я могу решить вышеуказанную проблему в моем приложении?

пожалуйста, любое тело, помогите мне

1 Ответ

1 голос
/ 06 марта 2012

Вместо этого NullPointerException в вашем RepeatService.java по номеру строки 63 внутри run(). Просто разрешите это.

...