本文介绍了显示Android的通知每五分钟的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想知道如何设置时间的通知。我想设置的通知每五分钟, 所以帮我做的。
公共类FirstActivity扩展活动 { 私有静态最终诠释HELLO_ID = 1; //公共静态最终诠释FLAG_AUTO_CANCEL = 0;`输入code here` @覆盖 保护无效的onCreate(包savedInstanceState){ // TODO自动生成方法存根 super.onCreate(savedInstanceState); 的setContentView(R.layout.firstactivity); 字符串NS = Context.NOTIFICATION_SERVICE; NotificationManager mNotificationManager =(NotificationManager)getSystemService(NS); INT图标= R.drawable.icon; CharSequence的tickerText =你好; 时长= System.currentTimeMillis的(); 通知通知=新的通知(图标,tickerText时); RemoteViews内容查看=新RemoteViews(getPackageName(),R.layout.statusbarnotification); contentView.setImageViewResource(R.id.image,R.drawable.icon); contentView.setTextViewText(R.id.text,你好,这条消息是在自定义扩展视图); notification.contentView =内容查看; notification.flags = Notification.DEFAULT_LIGHTS | Notification.FLAG_AUTO_CANCEL; 意图notificationIntent =新的意图(getApplicationContext(),SecondActivity.class); // PendingIntent contentIntent = PendingIntent.getActivity(此,0,notificationIntent,0); PendingIntent contentIntent = PendingIntent.getActivity(此,0,notificationIntent,0); notification.contentIntent = contentIntent; mNotificationManager.notify(HELLO_ID,通知); } }解决方案
我认为最好的办法就是创建设置通知的服务,然后激活使用AlarmManager服务。 这是在code为AlarmManager:
私人无效startAlarm(){ AlarmManager alarmManager =(AlarmManager)this.getSystemService(this.ALARM_SERVICE); 时长= System.currentTimeMillis的(); //通知时间 意向意图=新的意图(这一点,ReminderService.class); PendingIntent pendingIntent = PendingIntent.getService(此,0,意图,0); alarmManager.setRepeating(AlarmManager.RTC,当,(AlarmManager.INTERVAL_FIFTEEN_MINUTES / 3),pendingIntent); }要控制时间间隔使用常量或只需插入自己的值(以毫秒为单位)。
下面的服务:
公共类ReminderService扩展IntentService { 私有静态最终诠释NOTIF_ID = 1; 公共ReminderService(){ 超级(ReminderService); } @覆盖 保护无效onHandleIntent(意向意图){ NotificationManager纳米=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); 时长= System.currentTimeMillis的(); //通知时间 通知通知=新的通知(R.drawable.icon,提醒,当); notification.defaults | = Notification.DEFAULT_SOUND; notification.flags | = notification.FLAG_AUTO_CANCEL; 意图notificationIntent =新的意图(这一点,YourActivity.class); PendingIntent contentIntent = PendingIntent.getActivity(此,0,notificationIntent,0); notification.setLatestEventInfo(getApplicationContext(),是时候,你现在应该打开应用程序,contentIntent); nm.notify(NOTIF_ID,通知); } }I want to know how to set time for notification. I want to set notification every five minutes, so help me do that.
public class FirstActivity extends Activity { private static final int HELLO_ID = 1; //public static final int FLAG_AUTO_CANCEL = 0;`enter code here` @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.firstactivity); String ns = Context.NOTIFICATION_SERVICE; NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns); int icon = R.drawable.icon; CharSequence tickerText = "Hello"; long when = System.currentTimeMillis(); Notification notification = new Notification(icon, tickerText, when); RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.statusbarnotification); contentView.setImageViewResource(R.id.image, R.drawable.icon); contentView.setTextViewText(R.id.text, "Hello, this message is in a custom expanded view"); notification.contentView = contentView; notification.flags = Notification.DEFAULT_LIGHTS | Notification.FLAG_AUTO_CANCEL; Intent notificationIntent = new Intent(getApplicationContext(), SecondActivity.class); //PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); notification.contentIntent = contentIntent; mNotificationManager.notify(HELLO_ID, notification); } }解决方案
I think that the best way will be to create a service that sets the notification and then activate the service using AlarmManager. That's the code for the AlarmManager:
private void startAlarm() { AlarmManager alarmManager = (AlarmManager) this.getSystemService(this.ALARM_SERVICE); long when = System.currentTimeMillis(); // notification time Intent intent = new Intent(this, ReminderService.class); PendingIntent pendingIntent = PendingIntent.getService(this, 0, intent, 0); alarmManager.setRepeating(AlarmManager.RTC, when, (AlarmManager.INTERVAL_FIFTEEN_MINUTES / 3), pendingIntent); }To control the interval use the constant values or just insert your own value (in milliseconds).
Here is the Service:
public class ReminderService extends IntentService { private static final int NOTIF_ID = 1; public ReminderService(){ super("ReminderService"); } @Override protected void onHandleIntent(Intent intent) { NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); long when = System.currentTimeMillis(); // notification time Notification notification = new Notification(R.drawable.icon, "reminder", when); notification.defaults |= Notification.DEFAULT_SOUND; notification.flags |= notification.FLAG_AUTO_CANCEL; Intent notificationIntent = new Intent(this, YourActivity.class); PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent , 0); notification.setLatestEventInfo(getApplicationContext(), "It's about time", "You should open the app now", contentIntent); nm.notify(NOTIF_ID, notification); } }
更多推荐
显示Android的通知每五分钟
发布评论