在特定时间重新启动活动

时间:2015-04-20 10:51:40

标签: android broadcastreceiver alarmmanager scheduler android-broadcast

我正在开发一个应用程序,我需要在特定时间刷新/重新启动menuPage活动。例如下午12点。 我怎样才能实现它。 注意:如果用户在12点之前使用我的应用程序使用旧菜单,并且他在使用我的应用程序时已经过了12点的时间,则需要在下午12点重启。 如果应用关闭,则无需重新启动应用。 在客户使用我的应用程序的同时,在下午12点之前和下午12点之后,我的菜单在下午12点之后更改。因此用户需要在下午12点之后看到更新的菜单

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

这肯定会有效,100%......

final long delayMillis=1000;
Handler h=null;
Runnable r;
onCreate()

中的

h=new Handler(Looper.getMainLooper());
    r = new Runnable() {

           public void run() {

               //current time
               Calendar c = Calendar.getInstance(); 
                int hour = c.get(Calendar.HOUR_OF_DAY);
                int min=c.get(Calendar.MINUTE);
                int sec=c.get(Calendar.SECOND);
                String currenttime= String.valueOf(hour)+" : "+String.valueOf(min)+" : "+String.valueOf(sec);


             //comparing current time with 12:00pm
               if(currenttime.equals("12 : 0 : 0")){

                 //restarting the activity
                   Intent intent = getIntent();
                   finish();
                   startActivity(intent);

               }


            h.postDelayed(this, delayMillis);

        }
      };

    h.post(r);

一切顺利......