显示Android的通知每五分钟

编程入门 行业动态 更新时间:2024-10-22 21:19:01
本文介绍了显示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的通知每五分钟

本文发布于:2023-11-27 04:20:22,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1636566.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:五分钟   通知   Android

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!