Android,在指定时间运行某行代码

标签 android alarmmanager

view.findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

        EditText input=(EditText)parent.findViewById(R.id.input);

        //run at specified time
        Toast.makeText(getApplicationContext(), input.getText().toString(), Toast.LENGTH_SHORT).show();
        //run at specified time

    }
});

我知道有两种方法可以做到这一点

第一个是处理程序,但当设备 sleep 时它不起作用

第二个是 AlarmManager,但它必须创建另一个 Activity 或服务

我只想运行一段代码,并且这些代码对当前 Activity 有很多依赖,是否有其他方法可以在指定时间运行代码?

最佳答案

要在指定时间运行某些代码行,您需要使用 android 的 Timer 类。使用 Timer 类而不是倒数计时器类。

Timer timer = new Timer();
    timer.scheduleAtFixedRate(new TimerTask() {
        @Override
        public void run() {

            //your lines of code at specified time

        }
    }, delays Millisecond, Interval Millisecond);
  • 以毫秒为单位的延迟意味着计时器在此毫秒后启动

  • 间隔毫秒表示定时器每次都在这个特定时间运行。

关于Android,在指定时间运行某行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36353588/

相关文章:

android - 二进制 XML 文件行 #1 : Error inflating class fragment

android - 是否有用于删除警报的 Android API

android - Android 设备 sleep 的定义是什么?

java - 报警管理器设置重复失败

java.io.NotSerializedException : android. app.PendingIntent

java - ListView 元素的动态显示部分工作

java - 目录创建失败...Java、Android

android - 重置或刷新数据库连接

java - Google Play 成就 "IOException: Address already in use"

java - 为什么我的闹钟不起作用?