广播接收器下载数据并发送通知

时间:2015-09-28 07:21:40

标签: android download broadcastreceiver server

我有一个捕获警报/系统广播的接收器,然后它必须从服务器获取当前数据然后发送通知。我怎样才能做到这一点?请帮忙。谢谢。

2 个答案:

答案 0 :(得分:1)

从广播接收器发起意向服务。从服务器下载带有HTTP请求的数据。然后解析响应并相应地发出通知。

 public class MyBroadcastReceiver extends BroadcastReceiver {
       @Override
       public void onReceive(Context context, Intent intent) {
       ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(context.CONNECTIVITY_SERVICE);
       final NetworkInfo wifi = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
       final NetworkInfo mobile = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
       if (wifi.isConnected() || mobile.isConnected()) {
          Intent intent=new Intent(context,DownloadService.class);
          context.startService(intent);
       }
       else {
          Toast.makeText(context, "No Network Connectivity", Toast.LENGTH_SHORT).show();
       }
    }
 }

DownloadService类:

 public class DownloadService extends IntentService{
      String response = "";
      private NotificationManager mNotificationManager;
      public DownloadService() {
          super("DownloadService");
      }

      @Override
      protected void onHandleIntent(Intent intent) {
            // Get the data
            // Parse the data
            // Put the notificaton using NotificationManager
      }
 }

答案 1 :(得分:0)

对于您的问题,您可以执行的是AsyncTask,它将使用OnReceive方法从您的服务器获取数据,当您在检索数据时获得成功时,您可以在那里设置通知缓存。

以下代码可用于显示通知

$("#menu-toggle").click(function(e) {
        e.preventDefault();
        $("#wrapper").toggleClass("toggled");
}).click();  //click triggered....