在android中的活动中使用服务

时间:2012-08-14 08:31:21

标签: java android service android-activity

是否可以在活动中创建服务(能够访问所有按钮,文本视图,功能等)而无需创建单独的服务文件?我尝试过类似的东西,但它没有启动该服务。基本上,我有一个运行在活动上的应用程序,现在我希望它在后台运行,但不想花费太多工作来修复代码。

编辑:这是我通过放置服务而不是活动获得的logcat错误消息。

08-14 10:00:25.076: V/Tagging(3122): On Create
08-14 10:00:25.076: V/Tagging(3122): Service Starting
08-14 10:00:25.086: D/ActivityManager(1580): isSketcherDisabledInCurrentTask():false, ActivityRecord{4109a2a0 com.jimmyc.summer.wificollection/.WiFiLocationApp}
08-14 10:00:25.086: W/ActivityManager(1580): Unable to start service Intent { cmp=com.jimmyc.summer.wificollection/.WiFiLocationApp$MyService }: not found

像这样......

public class mainActivity extends Activity {

  onCreate(){
    Intent intent = new Intent(this, HelloService.class);
    startService(intent);
  }

  public class HelloService extends Service {

    onCreate(){
    }

    onStartCommand(){
    }

  }

}

3 个答案:

答案 0 :(得分:2)

是的,这是可能的。您只需在清单

中注册您的服务

答案 1 :(得分:2)

是的,这是可能的。

您需要做的就是将activity执行的代码移至service,然后按照onCreate中的方式调用服务。

该服务应该在一个单独的类中,从android清单中扩展Service。此外,还应在清单中提及此服务。

您还可以通过这种方式向服务添加按钮,并使它们在服务中执行功能。因此,您可以在后台运行服务,并在活动中使用UI来控制服务。

答案 2 :(得分:0)

我最终将活动绑定到了类,这就是诀窍。