如何在android中使用后台服务触发wifi状态更改?

时间:2013-11-14 07:26:57

标签: java android service android-wifi background-service

我有一个应用程序,即使应用程序没有运行,我想在wifi打开后立即上传一些数据。我认为这可以使用android后台服务来完成。当应用程序未运行时,请帮助我使用后台服务上传数据或建议我采用其他方式来实现此目的。

提前致谢!!

2 个答案:

答案 0 :(得分:1)

更加精诚,实施以下

  • 创建一个Started服务(使用startService()而不是bindService()启动的服务。
  • 实现此服务的onStartCommand()回调。在此回调方法中,检查是否有任何要上载的数据(如果此数据是由活动创建的,则最好使用数据库表对要上载的数据进行排队,并且服务从该数据库中获取数据)。检查WIFI连接,如果可用,请上传数据。
  • 现在,只要有WIFI,您就需要触发此服务。在这里你有两种方式来imeplemnt
  • 方法1:在您的应用程序清单文件中注册,以通知WIFI连接更改refer this link。当WIFI状态改变时,将调用注册的广播接收器。如果有WIFI,则从广播接收器开始服务
  • 方法2:使用AlarmManager定期启动服务(比如说每10分钟一次)。 refer this link。如果要上传的数据偶尔产生一次,这种方法将是有益的。

希望这有帮助。如果您有任何问题,请告诉我。

答案 1 :(得分:0)

您必须使用完全独立于活动的无限制服务(有关详细信息,请查看this)。启动服务后,使用ConnectivityManager监控您的Internet连接。使用this之类的示例。玩得开心。