0

我有以下代码:

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

我有两节课:

  1. 开始活动.class
  2. 服务类.class

我从 StartActivity 类启动服务,但是当我使用“startService()”方法启动服务时,屏幕会发生变化,当服务在“onCreate()”方法中处理其内容时,我无法执行任何操作.

与“活动”方式相比,“服务”方式不应该在没有 UI 干扰的情况下使用吗?

4

3 回答 3

1

您在 ServiceClass 的某处没有不定式(或长时间运行)循环吗?您正在同一上下文(线程)中运行服务,因此如果您有不定式循环,则线程被占用并且 Activity 无法执行任何操作。

于 2012-06-25T07:58:01.390 回答
0

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

于 2012-06-25T07:46:45.563 回答
0

试试这个

Intent serviceIntent = new Intent();
serviceIntent.setAction("com.testApp.service.MY_SERVICE");
startService(serviceIntent);
于 2012-06-25T07:48:35.527 回答