广播接收器类可以进行休息客户端调用吗?

Posted

技术标签:

【中文标题】广播接收器类可以进行休息客户端调用吗?【英文标题】:Can a broadcast receiver class make a rest client call? 【发布时间】:2012-11-07 08:09:59 【问题描述】:

我有一个广播接收器类,用于接收将携带特定项目的 ID/密钥的推送通知。然后我需要使用休息服务拨打电话以检索该项目然后显示它。但它既没有给出任何错误,也没有处理这些步骤。完成此操作后,我需要打开与检索到的特定项目相对应的特定活动。

private void retrieveItem(String key)    
    String feedURI = mContext.getString(R.string.feed_uri_for_push)+"/";
    feedURI += key;     
    RestClient.connect(feedURI, 10, new HTTPData());


private class HTTPData implements RestInterface<InputStream>

@Override
public void onError(Exception e) 
   //give error


@Override
public void receive(InputStream instream) 
     String result = RestClient.convertStreamToString(instream);
     JSONArray jsonArray = null;
     try 
             jsonArray = new JSONObject(result).getJSONArray(result); //using array for now.               
     catch(JSONException e) 
        e.printStackTrace();
    

    if(jsonArray == null) 
      return;
    

    // Create Item based on content
    for (int i = 0; i < jsonArray.length(); i++) 
    try 
        if(i > 1)
        break;
    

            JSONObject preItem = jsonArray.getJSONObject(i);
            ConvertItem item = new NewsItem(rawItem);
            newItem =item;
             catch (JSONException e) 
              e.printStackTrace();
           
           
     
 

【问题讨论】:

回答标题,不,不直接。 (ui线程,寿命短...) 【参考方案1】:

通过使用意图将密钥传递给另一个类并从那里进行其余调用来解决此问题。

【讨论】:

以上是关于广播接收器类可以进行休息客户端调用吗?的主要内容,如果未能解决你的问题,请参考以下文章

android广播接收器中未调用onReceive()进行静态广播

如何从广播接收器类调用颤振方法?

从广播接收器获取唤醒锁的问题

为啥下载管理器完成后广播接收器不调用?

Android广播阻塞、延迟问题

您可以在本地广播中使用未决意图吗?