2012-03-06 1 views
1

Я работаю с приложением, используя класс обслуживания, чтобы запускать приложение на заднем плане каждый раз. Класс обслуживания будет работать на заднем месте. В моем классе обслуживания я использовал Время для запуска моего на заднем плане каждый раз . В этом случае я не получаю ошибку в своем эмуляторе, но если я запустил приложение реального приложения, я получаю ошибку FATAL EXCEPTION Timer-0.как решить FATAL EXCEPTION Timer-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) 

Как я разрешить выше в моей заявке?

пожалуйста, любое тело помочь мне

+0

Опубликовать полную стекловину. Больше информации о logcat. Также, если возможно, отправьте полный код обслуживания. – user370305

+0

Рассмотрите возможность использования 'AlarmManager', это лучше, чем ваш дизайн: http://developer.android.com/reference/android/app/AlarmManager.html –

ответ

1

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

+0

Этот ответ исходит из веб-службы. Как я могу обработать это NullPointerException? Plzz дайте идею .... –

+0

Вы должны проверить, что ответ, который вы получаете, не является NULL, а также если вы получаете ответ, то вы разбираете его правильно. –