-1

I want simple toast message to be shown at 2:00p.m daily even if app gets close. Please help me.

MainActivity.java

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.HOUR_OF_DAY, 12);
        calendar.set(Calendar.MINUTE, 47);
        calendar.set(Calendar.SECOND, 0);
        Intent intent1 = new Intent(MainActivity.this, AlarmReceiver.class);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0,intent1, PendingIntent.FLAG_UPDATE_CURRENT);
        AlarmManager am = (AlarmManager) MainActivity.this.getSystemService(MainActivity.this.ALARM_SERVICE);
        am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent);
    }
}

AlarmReceiver.java

public class AlarmReceiver extends BroadcastReceiver {
    int MID = 0;
    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        Log.i("dummy","sjcdbfsnbf");
            // For our recurring task, we'll just display a message
            Toast.makeText(context, "I'm running", Toast.LENGTH_SHORT).show();

        }

    }
Ankita Shah
  • 1,866
  • 16
  • 31
Shivangi
  • 81
  • 2
  • 13

2 Answers2

0

You can use background service for it.

Sharanjeet Kaur
  • 796
  • 13
  • 18
0
@Override
public void onReceive(Context context, Intent intent) {
    // TODO: This method is called when the BroadcastReceiver is receiving
    // an Intent broadcast.
    try {
        Calendar c = Calendar.getInstance();


                if((int)c.get(Calendar.HOUR_OF_DAY) == 14)
                {
                 // Show toast here
                }
  throw new UnsupportedOperationException("Not yet implemented");
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }
}