1

I have added everything like adding a receiver in the manifest file, adding all permissions still I am not able to call notifications. I want to give a fixed times, Example Daily morning 8:00 am, 12:00 am,9:00 pm I want to show notifications, how to do that? please help me.

Manifest permissions

  <uses-permission android:name="com.android.alarm.permission.SET_ALARM" />
  <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
  <uses-permission android:name="android.permission.WAKE_LOCK" />

Receiver

  <receiver android:name=".Activity.Utils.AlertReceiver"> </receiver>

alert receiver class

public class AlertReceiver extends BroadcastReceiver {
NotificationManager notificationManager ;
boolean isNotificActive =  false ;

int id =1;

@Override
public void onReceive(Context context, Intent intent) {


    long when = System.currentTimeMillis();
    NotificationManager notificationManager = (NotificationManager) context
            .getSystemService(Context.NOTIFICATION_SERVICE);

    Intent notificationIntent = new Intent(context, DashBoard.class);
    notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

    PendingIntent pendingIntent = PendingIntent.getActivity(context, 100,notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);


    Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

    NotificationCompat.Builder mNotifyBuilder = new NotificationCompat.Builder(
            context).setSmallIcon(R.drawable.logo_medi)
            .setContentTitle("Alarm Fired")
            .setContentText("Events To be PErformed").setSound(alarmSound)
            .setAutoCancel(true).setWhen(when)
            .setContentIntent(pendingIntent)
            .setVibrate(new long[]{1000, 1000, 1000, 1000, 1000});
    notificationManager.notify(100, mNotifyBuilder.build());
    id++;


    System.out.println("notification is calling ");


}

setting alarm from an adapter class

                  Calendar calendar = Calendar.getInstance();
                                    calendar.set(Calendar.HOUR_OF_DAY, hour);
                                    calendar.set(Calendar.MINUTE, min);
                                    calendar.set(Calendar.SECOND, 10);
                                    Intent intent1 = new Intent(context, DashBoard.class);
                                    PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 100,intent1, PendingIntent.FLAG_UPDATE_CURRENT);
                                    AlarmManager am = (AlarmManager) context.getSystemService(context.ALARM_SERVICE);
                                    am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),AlarmManager.INTERVAL_DAY,pendingIntent);
snehasish
  • 171
  • 2
  • 10

0 Answers0