他,我是android平台的新手。
现在我正在开发一个基于通知的小应用程序。
在我的应用程序中,每次显示通知时,我都会根据该时间维护一个计时器。
但问题是第一次显示通知,第二个通知附加在第一个通知之上,第三个通知附加在第二个通知之上.................. < / p>
我想逐个显示通知。
如果有人知道如何逐个显示通知。请回复我。
这是我的代码
myTimer = new Timer();
myTimer.schedule(new TimerTask()
{
@Override
public void run()
{
TimerMethod();
}
}, 10000,10000);
}
private void TimerMethod()
{
this.runOnUiThread(Timer_Tick);
}
private Runnable Timer_Tick = new Runnable()
{
public void run()
{
mNotificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
final Notification notifyDetails = new Notification(R.drawable.icon,"New Alert, Click Me!",System.currentTimeMillis());
Context context = getApplicationContext();
CharSequence contentTitle = "Notification Details...";
CharSequence contentText = "you have a new notification find clicking me";
Intent notifyIntent = new Intent(Notifi.this,Notifi.class);
PendingIntent intent =
PendingIntent.getActivity(Notifi.this, 0,
notifyIntent, android.content.Intent.FLAG_ACTIVITY_NEW_TASK);
notifyDetails.setLatestEventInfo(context, contentTitle, contentText, intent);
mNotificationManager.notify(SIMPLE_NOTFICATION_ID, notifyDetails);
}
};
提前致谢
答案 0 :(得分:1)
在变量中存储固定的时间,例如5000毫秒。
现在,启动第一个通知并获取当前系统时间。为此添加5000毫秒并继续处理。在5000ms结束时关闭通知。如果第二个通知必须在第一个通知的5秒内显示,则使用if条件语句并检查自第一个通知的开始时间以来是否已经过了5000毫秒。如果已经过了,那么显示第二个,否则等到第一个完成。
您还可以使用简单标志检查是否打开了任何通知,该标志在通知开始时将设置为1,在关闭时将设置为0。如果为0,则可以显示新通知。
[您也可以使用2个线程来执行此操作。在第一个线程上运行所有进程。第二个只是在启动后的设定周期中断第一个。但还没试过这个]
希望我能帮到你。