为了账号安全,请及时绑定邮箱和手机立即绑定

来自扩展 TimerTask 的类中的 IntentService

来自扩展 TimerTask 的类中的 IntentService

RISEBY 2023-09-06 17:07:54
我需要从扩展 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 相当陌生。
查看完整描述

1 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

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


在活动代码中,


 Timer poll_timer = new Timer();

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

定时器任务代码,


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);

    }

}

你的意图服务类,


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" />


查看完整回答
反对 回复 2023-09-06
  • 1 回答
  • 0 关注
  • 83 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信