gpt4 book ai didi

java - 来自扩展 TimerTask 的类中的 IntentService

转载 作者:行者123 更新时间:2023-12-02 01:18:37 25 4
gpt4 key购买 nike

我需要从扩展 TimerTask 的类中调用扩展 IntentService 的类。我正在努力弄清楚以这种方式使用 Intent 时上下文是如何工作的。

从MainActivity 运行,我设置了计时器并运行扩展了TimerTask 的timer() 类。

Timer poll_timer = new Timer();
poll_timer.schedule(new timer(),0, 1000);

这段代码是timer()类的一部分,但我不知道如何正确调用使用Intent或将MainActivity上下文传递给timer()类。这就是我从 MainActivity 中调用它的方式

Intent gps = new Intent(this, gps.class);
startService(gps);

任何有关这方面的帮助都将不胜感激,因为我对 Java 还很陌生。

最佳答案

要实现您的要求,请将上下文对象传递给 TimerTask 类并使用它来调用 startService。

在 Activity 代码中,

 Timer poll_timer = new Timer();
poll_timer.schedule(new Timertesttask(MainActivity.this),0, 1000);

TimerTask代码,

public class Timertesttask extends TimerTask {
Context ctxObject = null;
public Timertesttask(Context ctx) {
ctxObject = ctx;
}

@Override
public void run() {
Intent gpsintent = new Intent(ctxObject, Gps.class);
ctxObject.startService(gpsintent);
}
}

您的 Intent 服务类,

public class Gps extends IntentService {


public Gps() {
super("Gps");
}

@Override
protected void onHandleIntent(@Nullable Intent intent) {
Log.d("Testing","Testing");
}
}

将IntentService的条目放入AndroidManifest中

<service android:name=".Gps" />

关于java - 来自扩展 TimerTask 的类中的 IntentService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58146064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com