如何逐个显示通知?

时间:2011-07-16 10:22:09

标签: android notifications

他,我是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);






    }


};    

提前致谢

1 个答案:

答案 0 :(得分:1)

在变量中存储固定的时间,例如5000毫秒。

现在,启动第一个通知并获取当前系统时间。为此添加5000毫秒并继续处理。在5000ms结束时关闭通知。如果第二个通知必须在第一个通知的5秒内显示,则使用if条件语句并检查自第一个通知的开始时间以来是否已经过了5000毫秒。如果已经过了,那么显示第二个,否则等到第一个完成。

您还可以使用简单标志检查是否打开了任何通知,该标志在通知开始时将设置为1,在关闭时将设置为0。如果为0,则可以显示新通知。

[您也可以使用2个线程来执行此操作。在第一个线程上运行所有进程。第二个只是在启动后的设定周期中断第一个。但还没试过这个]

希望我能帮到你。