Я работаю с приложением, используя класс обслуживания, чтобы запускать приложение на заднем плане каждый раз. Класс обслуживания будет работать на заднем месте. В моем классе обслуживания я использовал Время для запуска моего на заднем плане каждый раз . В этом случае я не получаю ошибку в своем эмуляторе, но если я запустил приложение реального приложения, я получаю ошибку 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)
Как я разрешить выше в моей заявке?
пожалуйста, любое тело помочь мне
Опубликовать полную стекловину. Больше информации о logcat. Также, если возможно, отправьте полный код обслуживания. – user370305
Рассмотрите возможность использования 'AlarmManager', это лучше, чем ваш дизайн: http://developer.android.com/reference/android/app/AlarmManager.html –