如何在每48小时后显示android通知?

前端之家收集整理的这篇文章主要介绍了如何在每48小时后显示android通知?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我尝试了以下代码Android通知,这是正常工作,但它是在我启动我的Android应用程序时给我通知弹出窗口.

I want to show an notification after every 48hours,how can I do it?

为了实现这一点,我需要做出哪些改变?

通知代码

Intent notificationIntent = new Intent(MainActivity.this,Activity.class);
        PendingIntent contentIntent = PendingIntent.getActivity(MainActivity.this,notificationIntent,0);

         NotificationManager notificationManager = (NotificationManager) MainActivity.this
                    .getSystemService(Context.NOTIFICATION_SERVICE);

         Notification noti = new NotificationCompat.Builder(MainActivity.this)
                            .setSmallIcon(R.drawable.ic_launcher)
                            .setTicker("ticker message")

                            .setWhen(System.currentTimeMillis())
                            .setContentTitle("HELLO")
                            .setContentText("PLEASE CHECK WE HAVE UPDATED NEWS")
                            .setContentIntent(contentIntent)
                            //At most three action buttons can be added
                            .setAutoCancel(true).build();
        int notifyID =0;
        notificationManager.notify(notifyID,noti);

解决方法

这是您在主要活动中所需要的东西:
Intent notificationIntent = new Intent(context,ShowNotification.class);
    PendingIntent contentIntent = PendingIntent.getService(context,PendingIntent.FLAG_CANCEL_CURRENT);

    AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    am.cancel(contentIntent);
    am.setRepeating(AlarmManager.RTC_WAKEUP,System.currentTimeMillis()
            + AlarmManager.INTERVAL_DAY * 2,AlarmManager.INTERVAL_DAY * 2,contentIntent);

然后,在另一个名为ShowNotification.java的文件中,添加以下内容(假设您的主要活动名为MainActivity):

import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.os.IBinder;
import android.support.v4.app.NotificationCompat;
import android.util.Log;

public class ShowNotification extends Service {

    private final static String TAG = "ShowNotification";

    @Override
    public void onCreate() {
        super.onCreate();

        Intent mainIntent = new Intent(this,MainActivity.class);

        NotificationManager notificationManager
            = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);

        Notification noti = new NotificationCompat.Builder(this)
            .setAutoCancel(true)
            .setContentIntent(PendingIntent.getActivity(this,mainIntent,PendingIntent.FLAG_UPDATE_CURRENT))
            .setContentTitle("HELLO " + System.currentTimeMillis())
            .setContentText("PLEASE CHECK WE HAVE UPDATED NEWS")
            .setDefaults(Notification.DEFAULT_ALL)
            .setSmallIcon(R.drawable.ic_launcher)
            .setTicker("ticker message")
            .setWhen(System.currentTimeMillis())
            .build();

        notificationManager.notify(0,noti);

        Log.i(TAG,"Notification created");
    }

    @Override
    public IBinder onBind(Intent intent) {
        // TODO Auto-generated method stub
        return null;
    }
}
原文链接:https://www.f2er.com/android/316719.html

猜你在找的Android相关文章