我想上传图片(使用asyncTask),但如果我的互联网关闭,我想发送广播意图并在下次连接互联网时自动上传图片。我在互联网活跃时成功上传了图片,我看到很多例子,但没有一个帮助过我。
我有一个类UploadAdvisor,它扩展了AsyncTask
我制作了这样的广播接收器类
public class MyBroadcastReceiver extends BroadcastReceiver {
ConnectivityManager connec;
@Override
public void onReceive(Context context, Intent intent) {
connec = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connec != null && (connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED) ||(connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED))
{
Intent intent1 = new Intent(context, UploadIntentService.class);
intent1.putExtra("", "index.html");
context.startService(intent);
}
}
}
这是我的UploadIntentService类
public UploadIntentService() {
super("uploadIntentService");
}
@Override
protected void onHandleIntent(Intent intent) {
new UploadImageToBucket().execute("");
Intent broadcastIntent = new Intent();
broadcastIntent.setAction("com.alg.imgSave.MyBroadcastReceiver");
broadcastIntent.addCategory(Intent.CATEGORY_DEFAULT);
broadcastIntent.putExtra("RESPONSE_STRING", "1");
broadcastIntent.putExtra("RESPONSE_MESSAGE", "Uploaded");
sendBroadcast(broadcastIntent);
}
但这不起作用
答案 0 :(得分:0)
请参考:
Broadcast receiver for checking internet connection in android app
这里的想法是,如果您的互联网发生故障,请发送此接收者注册的广播意图,一旦您的互联网连接发生变化,此接收器将启动,然后您可以请求上传图像。< / p>