我想上传图片(使用asyncTask),但如果我的互联网关闭,我想发送一个广播意图

时间:2015-04-09 11:39:14

标签: android android-asynctask broadcastreceiver android-intentservice

我想上传图片(使用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);
}

但这不起作用

1 个答案:

答案 0 :(得分:0)

请参考:

Broadcast receiver for checking internet connection in android app

这里的想法是,如果您的互联网发生故障,请发送此接收者注册的广播意图,一旦您的互联网连接发生变化,此接收器将启动,然后您可以请求上传图像。< / p>