Service + BroadcastReceiver:在后台上传文件?

时间:2013-01-25 08:07:59

标签: android service broadcastreceiver

我正在申请。我目前有一个数据库和一个方法,使用服务器上的PHP脚本上传图片(以及与图片相对应的数据,存储在数据库中)。目的和数据库的模式都不重要。我之前没有真正做过这样的事情但是已经对它进行了一些调查。基本上用户将使用该应用程序拍照。如果有网络连接,图片及其数据将上传,但如果没有连接则不会上传(duh)。我想在连接存在后上传待处理的图片。

要做到这一点......我目前的计划是使用BroadcastReceiver来检测用户何时连接到网络,然后使用服务上传文件。这是正确的方法吗?当且仅当存在待处理的上载时,如何才能基本上开始启用服务?

1 个答案:

答案 0 :(得分:2)

一般来说,你的方法听起来很合理。

您可以在包中注册广播接收器,并聆听android.net.conn.CONNECTIVITY_CHANGE

如果活动也触发了您的服务,您可以单独使用IntentService来正确处理每个案例,这样您就不必处理有关何时停止或启动服务的许多问题一个特定的生命周期。

希望这会有所帮助;你听起来不像初学者,所以你将能够维持生计。