Android java发送一次通知

时间:2015-08-10 19:50:54

标签: java android notifications

如果发生某事,我该如何仅发送一次通知? 我收到了这个声明:

if (diffDays <= 0 && diffHours <= 0 && diffMinutes <= 0) {

    activity.sendNotificationIfTimeEnd01();
    Log.d("MyApp", "I am here");
}

和此:

public void sendNotificationIfTimeEnd01() {
    Intent intent = new Intent(Intent.ACTION_VIEW,
            Uri.parse("https://www.google.de/?gws_rd=ssl"));
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);
    NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
    builder.setSmallIcon(R.drawable.ic_stat_notification);
    builder.setContentIntent(pendingIntent);
    builder.setAutoCancel(true);
    builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher));
    builder.setContentTitle("String one");
    builder.setContentText("bla");
    builder.setSubText("blabla");
    NotificationManager notificationManager = (NotificationManager) getSystemService(
            NOTIFICATION_SERVICE);
    notificationManager.notify(NOTIFICATION_ID, builder.build());
    try {
        Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
        Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification);
        r.play();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

如果声明合适,我会收到通知,但是如果我关闭应用并启动它,我会再次收到通知。(声明仍然是正确的);

1 个答案:

答案 0 :(得分:0)

尝试使用SharedPreferences作为出血182告诉你。这是如何做到这一点的一个很好的答案: How to use SharedPreferences in Android to store, fetch and edit values