方法不执行?

时间:2015-11-01 23:35:34

标签: java android xml service timer

我正在使用服务在我的应用程序的后台运行20秒计时器。我希望服务在使用它的计时器时调用我的GameOver类。顺便说一下,用户在计时器运行时不断地切换活动,但是当它结束时,无论如何都必须通过屏幕将用户带到游戏中。我已经在服务中举杯祝酒,但这并没有显示出来。

这是我的服务:

enter image description here

这是我的主菜单,我称之为服务:

enter image description here

以下是我展示服务的清单:

enter image description here

请告知我服务或计时器未运行的原因。非常感谢你的帮助,我真的很感激!如果您需要更多代码,请告诉我,我会告诉您。谢谢!

: - )

2 个答案:

答案 0 :(得分:0)

您的祝酒词没有显示,因为服务无法直接操作用户界面,例如显示祝酒词。

要从服务执行此操作,您需要在主线程上运行Toast代码。这可以这样做:

Handler handler = new Handler(Looper.getMainLooper());
handler.post(new Runnable() {
    @Override
    public void run() {
        Toast.makeText(TwentySeconds.this.getApplicationContext(), "Started!", Toast.LENGTH_SHORT).show();
    }
});

您的CountDownTimer不起作用,因为您从未启动它。很简单。
您创建了CountDownTimer,但从不在对象上调用.start()。

cdt.start();

答案 1 :(得分:0)

在这个问题上花了几个小时后,我发现了可怜的错误:

我有'< OUTSIDE'的服务声明应用程序>”结束标记。

<强>捂脸

始终将服务声明保留在标记