Bir hizmet sınıfından, alarm alıcısı aracılığıyla beklemedeki bir niyetimi iletiyorum. Ancak, bekleyen yangınlardan sonra intent.putExtra() bilgisi broadcastreceiver sınıfı tarafından alınmıyor. İşte bu niyet bekleyen alınan ediliyor alarm alıcı sınıfı aşağıdaintent.putExtra() beklemede niyetinde değil
public String msg, phonen;
@Override
public void onReceive(Context context, Intent intent){
Bundle extras = intent.getExtras();
msg = extras.getString("msg");
phonen = extras.getString("phone");
Log.d("onReceive", "About to execute MyTask");
Toast.makeText(context,msg, Toast.LENGTH_LONG).show();
}
tost içinde msg bilgidir pendingIntent
Intent aint = new Intent(getApplicationContext(), AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), id, aint, PendingIntent.FLAG_UPDATE_CURRENT);
aint.putExtra("msg", msg);
aint.putExtra("phone", phone);
alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);
ateş benim koddur gösterilmiyor. Bunun yerine, boş bir tost gösterilir. Bu bu
Intent aint = new Intent(getApplicationContext(), AlarmReceiver.class);
aint.putExtra("msg", msg);
aint.putExtra("phone", phone);
PendingIntent pendingIntent = PendingIntent.getBroadcast(
getApplicationContext(),
id,
aint,
// as stated in the comments, this flag is important!
PendingIntent.FLAG_UPDATE_CURRENT);
ve PendingIntent takılarak önce .putExtra yöntemleri var, 'PendingIntent.FLAG_UPDATE_CURRENT' önemlidir, bu nedenle başka bir çözüme geçmeden önce bu deneyin. – DonutGaz