I am devoleping an application for android.I have AlarmManager.This AlarmManager cannot be stoppable.Everytime(every 2 seconds) checking my list according to random number.Random number check the database and giving to decision to NotificationManager.İf list line is not green.It make it.My problem is when line is green.My notification text doesn"t change.How can I fix it ?
My AlarmManagerReceiver :
DatabaseHelper mDatabaseHelper;
ArrayList listData = new ArrayList<>();
ArrayList listDataoran = new ArrayList<>();
ArrayList listDataBoya = new ArrayList<>();
ArrayList listDataId = new ArrayList<>();
ArrayList listDatanumber = new ArrayList<>();
Random secilmiskisi ;
int secilmissayı;
@Override
public void onReceive(Context context, Intent intent) {
mDatabaseHelper = new DatabaseHelper(context);
Cursor data = mDatabaseHelper.getData();
while(data.moveToNext()){
listDataId.add(data.getString(0));
listData.add(data.getString(1));
listDatanumber.add(data.getString(2));
listDataoran.add(data.getString(3));
listDataBoya.add(data.getString(4));}
secilmiskisi = new Random();
secilmissayı = secilmiskisi.nextInt(listDataId.size()) + 0;
Toast.makeText(context, "Alarm !!!!!!!!!!", Toast.LENGTH_LONG).show();
cancelAlarm(context);
// setalarm(context);
if(!listDataBoya.contains("#1eac02")){
String table = "people_table";
ContentValues productDetailsContentValues = new ContentValues();
productDetailsContentValues.put("boya", "#1eac02");
String where = " id = " + listDataId.get(secilmissayı);
mDatabaseHelper.update(table, productDetailsContentValues, where , null);
Intent yesReceive = new Intent();
yesReceive.setAction(AppConstant.YES_ACTION);
PendingIntent pendingIntentYes = PendingIntent.getBroadcast(context, 12345, yesReceive, PendingIntent.FLAG_UPDATE_CURRENT);
Intent intenttt = new Intent(context,AnaMenu.class);
PendingIntent pIntent = PendingIntent.getActivity(context, 0, intenttt, 0);
Intent yesReceive2 = new Intent();
yesReceive2.setAction(AppConstant.STOP_ACTION);
PendingIntent pendingIntentYes2 = PendingIntent.getBroadcast(context, 12345, yesReceive2, PendingIntent.FLAG_UPDATE_CURRENT);
// Build notification
// Actions are just fake
Notification noti = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
noti = new Notification.Builder(context)
.setTicker(" size bir bildirim yolladı.")
.setContentTitle("")
.setContentText(listData.get(secilmissayı)+" i arama zamanı")
.setSmallIcon(R.drawable.familyiiii)
.addAction(R.drawable.cal, "Ara", pendingIntentYes)
.addAction(R.drawable.se, "Daha Sonra", pendingIntentYes2)
.setContentIntent(pIntent).getNotification();
}
// .setTicker(" size bir bildirim yolladı.").setSmallIcon(R.drawable.familyiiii)
// .setSubText("Bu mesaj ile artık" + isimler.get(random) + " arayacağın bir görevin oldu.")
NotificationManager notificationManager = (NotificationManager) context.getSystemService(NOTIFICATION_SERVICE);
noti.flags |= Notification.FLAG_AUTO_CANCEL;
notificationManager.notify(0, noti);
setalarm(context);
}else if (listDataBoya.get(secilmissayı) != "#1eac02" ){
String table = "people_table";
ContentValues productDetailsContentValues = new ContentValues();
productDetailsContentValues.put("boya", "#1eac02");
String where = " id = " + listDataId.get(secilmissayı);
mDatabaseHelper.update(table, productDetailsContentValues, where , null);
Intent yesReceive = new Intent();
yesReceive.setAction(AppConstant.YES_ACTION);
PendingIntent pendingIntentYes = PendingIntent.getBroadcast(context, 12345, yesReceive, PendingIntent.FLAG_UPDATE_CURRENT);
Intent intenttt = new Intent(context, AnaMenu.class);
PendingIntent pIntent = PendingIntent.getActivity(context, 0, intenttt, 0);
Intent yesReceive2 = new Intent();
yesReceive2.setAction(AppConstant.STOP_ACTION);
PendingIntent pendingIntentYes2 = PendingIntent.getBroadcast(context, 12345, yesReceive2, PendingIntent.FLAG_UPDATE_CURRENT);
// Build notification
// Actions are just fake
Notification noti = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
noti = new Notification.Builder(context)
.setTicker(" size bir bildirim yolladı.")
.setContentTitle("")
.setContentText(listData.get(secilmissayı)+" i arama zamanı")
.setSmallIcon(R.drawable.familyiiii)
.addAction(R.drawable.cal, "Ara", pendingIntentYes)
.addAction(R.drawable.se, "Daha Sonra", pendingIntentYes2)
.setContentIntent(pIntent).getNotification();
}
// .setTicker(" size bir bildirim yolladı.").setSmallIcon(R.drawable.familyiiii)
// .setSubText("Bu mesaj ile artık" + isimler.get(random) + " arayacağın bir görevin oldu.")
NotificationManager notificationManager = (NotificationManager) context.getSystemService(NOTIFICATION_SERVICE);
noti.flags |= Notification.FLAG_AUTO_CANCEL;
notificationManager.notify(0, noti);
setalarm(context);
}while (listDataBoya.get(secilmissayı) == "#1eac02"){////Here , is the problem.
String table = "people_table";
ContentValues productDetailsContentValues = new ContentValues();
productDetailsContentValues.put("boya", "#1eac02");
String where = " id = " + listDataId.get(secilmissayı);
mDatabaseHelper.update(table, productDetailsContentValues, where , null);
Intent yesReceive = new Intent();
yesReceive.setAction(AppConstant.YES_ACTION);
PendingIntent pendingIntentYes = PendingIntent.getBroadcast(context, 12345, yesReceive, PendingIntent.FLAG_UPDATE_CURRENT);
Intent intenttt = new Intent(context, AnaMenu.class);
PendingIntent pIntent = PendingIntent.getActivity(context, 0, intenttt, 0);
Intent yesReceive2 = new Intent();
yesReceive2.setAction(AppConstant.STOP_ACTION);
PendingIntent pendingIntentYes2 = PendingIntent.getBroadcast(context, 12345, yesReceive2, PendingIntent.FLAG_UPDATE_CURRENT);
// Build notification
// Actions are just fake
Notification noti = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
noti = new Notification.Builder(context)
.setTicker("AYNIKİŞİAYNIKİŞİAYNIKİŞİAYNIKİŞİAYNIKİŞİAYNIKİŞİ")
.setContentTitle("AYNIKİŞİAYNIKİŞİAYNIKİŞİAYNIKİŞİAYNIKİŞİ")
.setContentText(listData.get(secilmissayı)+" i arama zamanı")
.setSmallIcon(R.drawable.familyiiii)
.addAction(R.drawable.cal, "Ara", pendingIntentYes)
.addAction(R.drawable.se, "Daha Sonra", pendingIntentYes2)
.setContentIntent(pIntent).getNotification();
}
// .setTicker(" size bir bildirim yolladı.").setSmallIcon(R.drawable.familyiiii)
// .setSubText("Bu mesaj ile artık" + isimler.get(random) + " arayacağın bir görevin oldu.")
NotificationManager notificationManager = (NotificationManager) context.getSystemService(NOTIFICATION_SERVICE);
noti.flags |= Notification.FLAG_AUTO_CANCEL;
notificationManager.notify(0, noti);
setalarm(context);
}
This is the first time activity has created :
This is the last time activity :
I want to change my notification text when selected number"s line (random number)is green.