显示Android的通知每五分钟 [英] Show android notification every five minutes
本文介绍了显示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的通知每五分钟的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文