package app; import data.ArticlesDbHelper; import data.ArticlesFeed; import data.RSSInterface; import android.app.IntentService; import android.content.Intent; import android.database.sqlite.SQLiteDatabase; import android.os.ResultReceiver; import android.util.Log; public class SyncService extends IntentService { private static final String TAG = "SyncService"; private ResultReceiver resultReceiver = new ResultReceiver(null); public ArticlesDbHelper articlesDbHelper = new ArticlesDbHelper(this); public SyncService() { super(TAG); } @Override protected void onHandleIntent(Intent intent) { Log.d(TAG, "onHandleIntent"); resultReceiver = (ResultReceiver) intent.getParcelableExtra(RSSInterface.INTENT_RESULTRECEIVER); // Comprobar que nos han pasado el resultReceiver, para evitar null pointer exception if(resultReceiver != null) { // Al arrancar, mandar un result code 1 resultReceiver.send(RSSInterface.CODE_START_TASK, null); } ArticlesFeed articlesTask = new ArticlesFeed(); final SQLiteDatabase db = articlesDbHelper.getWritableDatabase(); articlesTask.loadNewArticles(db); if(resultReceiver != null) { // Al finalizar, mandar un result code 0 resultReceiver.send(RSSInterface.CODE_END_TASK, null); } } }