Twitter に投稿を公開するためにいくつかのアラームをスケジュールしようとしています。NullPointerException を取得しているため、使用方法がわかりません。
投稿のリストがあり、それらを twitter に投稿したいので、これが私がしたことです。WakefulIntentService クラスの scheduleAlarms メソッドには、投稿リストを反復処理し、投稿オブジェクトを putExtra メソッドに追加する for ループがあります。
public static void scheduleAlarms(AlarmListener listener, Context ctxt,
boolean force) {
SharedPreferences prefs = ctxt.getSharedPreferences(NAME, 0);
long lastAlarm = prefs.getLong(LAST_ALARM, 0);
if (lastAlarm == 0
|| force
|| (System.currentTimeMillis() > lastAlarm && System
.currentTimeMillis() - lastAlarm > listener.getMaxAge())) {
AlarmManager mgr = (AlarmManager) ctxt
.getSystemService(Context.ALARM_SERVICE);
for (Iterator<Post> iterator = AlarmActivity.posts.iterator(); iterator
.hasNext();) {
Post post = (Post) iterator.next();
Intent i = new Intent(ctxt, AlarmReceiver.class);
i.putExtra("post", post);
PendingIntent pi = PendingIntent.getBroadcast(ctxt,
(int) post.getId(), i, 0);
listener.scheduleAlarms(mgr, pi, ctxt);
}
}
}
次に、AppService doWakefulWork メソッドで Parcelable ポスト オブジェクトを取得しますが、nullpointerexception が発生します。
@Override
protected void doWakefulWork(Intent intent) {
Log.i("AppService", "I'm awake! I'm awake! (yawn)");
Post post = intent.getParcelableExtra("post");
System.out.println("- " + post.getPost());
}
これは私が達成したいことをする正しい方法ですか?
前もって感謝します