Android:来自后台服务的网络请求与应用程序分开启动

Android:来自后台服务的网络请求与应用程序分开启动,android,networking,service,Android,Networking,Service,我在尝试通过在设备启动时启动的后台服务获取数据时遇到问题。从专用应用程序运行时,它可以很好地检索数据,但单独运行时,它会正确启动,但不会返回任何内容。它不依赖任何其他类,只使用自己的方法 是否可以从以这种方式启动的后台服务执行http请求 BackgroundService.java片段: public class BackgroundService extends Service { @Override public IBinder onBind(Intent arg0) { ret

我在尝试通过在设备启动时启动的后台服务获取数据时遇到问题。从专用应用程序运行时,它可以很好地检索数据,但单独运行时,它会正确启动,但不会返回任何内容。它不依赖任何其他类,只使用自己的方法

是否可以从以这种方式启动的后台服务执行http请求

BackgroundService.java片段:

public class BackgroundService extends Service {

@Override
public IBinder onBind(Intent arg0) {
    return null;
}

@Override
public void onCreate() {  
    new BackgroundTask(this).run();
}

BackgroundTask类在其run()方法中完成其所有工作,该方法包含http请求的代码,如果服务从应用程序运行,则可以正常工作。我必须对onBind方法做些什么吗?

您应该调用
startService()。您的服务将被视为活动的,直到它调用或,或有人调用您的服务。当服务处于活动状态时,它可以运行它需要的任何web请求(当然,这应该在单独的线程中完成)

有关更多详细信息,请参阅Android文档中的一节