【问题标题】:Service That Call Another Service In A Timer在计时器中调用另一个服务的服务
【发布时间】:2013-10-28 17:57:41
【问题描述】:

我的 TimerService 中有一个计时器,有一个任务。每 5 秒它必须调用另一个服务。

@Override
    public void onCreate()
        {

            super.onCreate();
            Log.i("ServiceDemo01", "Service Starts");
            TimerTask task = new TimerTask()
                {
                    @Override
                    public void run()
                        {

                            startService(new Intent(this, CameraService.class));

                            Log.i("ServiceDemo01", "Picture Taken");
                        }
                };

            timer = new Timer();
            timer.schedule(task, 0, 5000);
        }

但我不能在计时器中完成,我该如何解决?

startService(new Intent(this, CameraService.class));

【问题讨论】:

    标签: android android-intent service timertask


    【解决方案1】:

    是的,但要让它发挥作用,您必须设置适当的上下文:

    startService(new Intent(TimerService.this, CameraService.class));
    

    【讨论】:

    • 我也遇到过类似的挑战。需要明确的是,问题在于原始代码中的“this”指的是匿名 TimerTask 而不是 TimerService。我通常让我的匿名类包含对包含类的方法的简单调用,以避免范围问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-25
    • 2017-04-01
    • 1970-01-01
    • 2021-08-30
    相关资源
    最近更新 更多