无需更改屏幕即可启动服务

时间:2012-06-25 07:41:13

标签: java android service

我有以下代码:

Intent serviceIntent = new Intent(this, ServiceClass.class);
startService(serviceIntent);

我有两个班级:

  1. StartActivity.class
  2. ServiceClass.class
  3. 我从StartActivity类启动服务,但是当我使用“startService()”方法启动服务时,屏幕发生变化,当服务处理“onCreate”内的内容时,我无法做任何事情。 )“方法。

    与“活动”方式相比,“服务”方式是否意味着没有UI干扰?

3 个答案:

答案 0 :(得分:1)

你不是在ServiceClass中的某个地方有不定式(或长时间运行)循环吗?您在相同的上下文(线程)中运行服务,因此如果您有不定式循环,则线程被占用,而Activity无法执行任何操作。

答案 1 :(得分:0)

在ServiceClass中创建一个新的Thread并执行其中的所有代码。像现在一样从活动开始服务,但Service#onStartCommand中的代码需要在另一个线程中。

答案 2 :(得分:0)

试试这个

Intent serviceIntent = new Intent();
serviceIntent.setAction("com.testApp.service.MY_SERVICE");
startService(serviceIntent);