每天修复时的Toast消息,即使app在android中关闭也是如此

时间:2016-11-30 09:00:04

标签: android android-toast

即使应用程序关闭,我希望每天下午2点显示简单的Toast消息。     请帮帮我。

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();

        }

    }

2 个答案:

答案 0 :(得分:0)

您可以使用后台服务。

答案 1 :(得分: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();
    }
}