特定日期的 Android 通知

标签 android alarmmanager android-notifications android-date

我必须创建一个应用程序,我必须在其中设置一个日期,并且在该特定日期的 9 点钟,我必须发出通知。最简单的方法是什么?我希望该应用程序即使在该应用程序被杀死时也能正常工作。 AlarmManager 是解决方案吗?

最佳答案

要安排一个 Action ,您可以使用 AlarmManager

试试这段代码,它对我有用:

1/声明 BroadcastReceiver CLASS 以启动 Action,此类可以在您的 Activity 内部或在其他 Java 文件之外

public class Receiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        Toast.makeText(context, intent.getStringExtra("param"),Toast.LENGTH_SHORT).show();
    }

}

2/在你的 Oncreate 方法中放入这段代码

AlarmManager alarms = (AlarmManager)this.getSystemService(Context.ALARM_SERVICE);

    Receiver receiver = new Receiver();
    IntentFilter filter = new IntentFilter("ALARM_ACTION");
    registerReceiver(receiver, filter);

    Intent intent = new Intent("ALARM_ACTION");
    intent.putExtra("param", "My scheduled action");
    PendingIntent operation = PendingIntent.getBroadcast(this, 0, intent, 0);
    // I choose 3s after the launch of my application
    alarms.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+3000, operation) ;   

启动您的应用程序,3 秒后将出现 Toast,因此您可以将“System.currentTimeMillis()+3000”更改为您的唤醒时间。

关于特定日期的 Android 通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9930683/

相关文章:

java - Java 中的日期和时间比较

android - 如何创建一定数量的变量,其中数量取决于用户输入?

Android 改造 - GET Json 数组

java - 如何每 15 分钟运行一次 android 函数,特别是每天 15 分钟?

android - 如何在 android 应用程序之外时提醒警报消息?

java - 应用程序重新启动时 Parse.enableLocalDatastore 抛出异常

android - 使用自定义字体创建数字时钟小部件

Android 多重通知避免更新时闪烁

android - 如何使用 Android Webview 在后台播放 YouTube?

android - NotificationListenerService with RemoteController.OnClientUpdateListener 在 API18 (4.3) 上崩溃