关于计时器和动作...帮助!! ----(Android应用程序)

时间:2013-07-25 10:17:05

标签: android timer action

有一些问题! 我希望在第二次之后做一些动作,比如在5秒后更改单词。除了定时器的设置外,我还设置了一切。

我认为这对每个人来说都很容易,但我只是拿起了3天的机器人。 我该怎么办?

2 个答案:

答案 0 :(得分:1)

使用AlarmManager重复操作。

示例:

PendingIntent pintent = PendingIntent.getService(context, 0, new Intent(context, YourIntentHere.class), 0);
AlarmManager alarm = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarm.cancel(pintent);
alarm.setRepeating(AlarmManager.RTC, Calendar.getInstance().getTimeInMillis(), iInterval, pintent);

因此,只需将您想要重复的逻辑封装在能够实现意图(活动或服务)的内容中。

或者你可以使用带睡眠的AsyncTask,但我不建议那样。

另见:

http://developer.android.com/reference/android/app/AlarmManager.html http://www.techrepublic.com/blog/android-app-builder/use-androids-alarmmanager-to-schedule-an-event/

答案 1 :(得分:0)

对于仅执行一次的操作:

错误:启动Thread使用Thread.Sleep(5000),然后确保使用myActivity.runOnUiThread(Runnable)再次使用Ui-Thread并再次更改文本< / p>

更好的:使用asynctask! - &GT;

        new AsyncTask<String, Void, Void>()
        {
            protected void onPreExecute()
            {
                // ui thread
            };

            @Override
            protected Void doInBackground(String... params)
            {
                // non ui thread
                // do your first action here
                try
                {
                    Thread.sleep(5000);
                }
                catch (InterruptedException e)
                {
                }
                return null;
            }

            protected void onPostExecute(Void result)
            {
                // ui thread
                // do your seconds action here
            };
        }.execute("");