如何从registerReceiver(Service)在String中插入数据? Android的

时间:2014-12-20 07:51:29

标签: android android-intent android-service android-broadcast

insert data String registerReceiver Service如何 Intent ir=new Intent(); ir.setAction(MY_ACTION); ir.putExtra("Webresponse", Webresponse); sendBroadcast(ir); ,我的代码如下。

在我的Activity我写了这段代码:

private class MyReceiver extends BroadcastReceiver{


         @Override
         public void onReceive(Context arg0, Intent arg1) {
          String datapassed = arg1.getStringExtra("Webresponse");
          Toast.makeText(ChatPage.this,
                "Triggered by Service!\n"
                + "Data passed: " + datapassed,
                Toast.LENGTH_LONG).show();
         }
    }

onCreate我得到数据:

Toast

然后在insert data中,我可以使用MyReceiver m = new MyReceiver(); IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(ChatPage_Service.MY_ACTION); registerReceiver(m, intentFilter); 获取数据并查看数据,但我需要字符串值中的String values = registerReceiver(m, intentFilter);

{{1}}

我需要:

{{1}}

1 个答案:

答案 0 :(得分:0)

如果您填写了ListView,则应将其填入private class MyReceiver extends BroadcastReceiver

例如,这是我的代码:

private class MyReceiver extends BroadcastReceiver{
         @Override
         public void onReceive(Context arg0, Intent arg1) {
          datapassed = arg1.getStringExtra("Webresponse");
            try {
                XmlToDocument xmltodoc = new XmlToDocument();
                Document doc = xmltodoc.getDomElement(datapassed);
                // normalize text representation
                doc.getDocumentElement().normalize();
                NodeList listOfPersons = doc
                        .getElementsByTagName("user");

                adapter.clear();
                for (int s = 0; s < listOfPersons.getLength(); s++) {
                    StructPasokhgoo stp = new StructPasokhgoo();
                    Node firstPersonNode = listOfPersons.item(s);
                    if (firstPersonNode.getNodeType() == Node.ELEMENT_NODE) {

                        Element firstPersonElement = (Element) firstPersonNode;
                        NodeList ageList = firstPersonElement
                                .getElementsByTagName("group");
                        Element ageElement = (Element) ageList
                                .item(0);

                        NodeList textAgeList = ageElement
                                .getChildNodes();
                        group = ((Node) textAgeList.item(0))
                                .getNodeValue().trim();
                        if (group.equals("admin")) {
                            //----//
                            NodeList firstNameList = firstPersonElement
                                    .getElementsByTagName("id");
                            Element firstNameElement = (Element) firstNameList
                                    .item(0);

                            NodeList textFNList = firstNameElement
                                    .getChildNodes();
                            id = ((Node) textFNList.item(0))
                                    .getNodeValue().trim();
                            //----//
                            NodeList lastNameList = firstPersonElement
                                    .getElementsByTagName("name");
                            Element lastNameElement = (Element) lastNameList
                                    .item(0);

                            NodeList textLNList = lastNameElement
                                    .getChildNodes();
                            name = ((Node) textLNList.item(0))
                                    .getNodeValue().trim();
                            stp.NameS = name;
                            stp.Group = group;
                            stp.IdS = id;
                            pasokhgo.add(stp);

                        }

                        if (group.equals("user")) {
                            //----//
                            NodeList firstNameList = firstPersonElement
                                    .getElementsByTagName("id");
                            Element firstNameElement = (Element) firstNameList
                                    .item(0);

                            NodeList textFNList = firstNameElement
                                    .getChildNodes();
                            idTwo = ((Node) textFNList.item(0))
                                    .getNodeValue().trim();
                            //----//
                            NodeList lastNameList = firstPersonElement
                                    .getElementsByTagName("name");
                            Element lastNameElement = (Element) lastNameList
                                    .item(0);

                            NodeList textLNList = lastNameElement
                                    .getChildNodes();
                            nameTwo = ((Node) textLNList.item(0))
                                    .getNodeValue().trim();
                            //----//
                            stp.NameE = nameTwo;
                            stp.Group = group;
                            stp.IdE = idTwo;
                            pasokhgo.add(stp);

                        }
                    }
                }
                adapter.notifyDataSetChanged();
            } catch (Throwable t) {
                t.printStackTrace();
            }
         }
        }

我遇到了这个问题而我无法在活动中获取数据,我只能看到吐司,但随后我会在listView中填写MyReceiver.class