FMUSER Wirless senda vídeó og hljóð auðveldara!

[netvarið] WhatsApp + 8618078869184
Tungumál

    Ítarlegar útskýringar á Broadcast í Android

     

    Útsending er skipt í tvær mismunandi gerðir: „Venjulegar útsendingar“ og „Pantaðar útsendingar“. Venjuleg útsending er algjörlega ósamstillt og hægt er að taka á móti öllum ljósvakamóttakurum samtímis (rökrétt). Skilvirkni skilaboða er tiltölulega mikil, en ókosturinn er sá að móttakandinn getur ekki komið niðurstöðu vinnslunnar til næsta móttakara og ekki er hægt að ljúka henni. Útsending Ætlun fjölgun; hins vegar er skipulögð útsending byggð á forgangi sem móttakandi hefur lýst yfir (lýst yfir í Android: forgangseiginleiki fyrirætlunar síuefnisins, því stærri tala, því hærri forgangur, gildissvið: -1000 til 1000. Það er mögulegt Hringdu í setPriority () IntentFilter hlutarins sem á að stilla), og viðtakandinn fær útsendinguna aftur á móti. Til dæmis, ef stig A er hærra en B, og stig B er hærra en C, þá er útsendingin fyrst send til A, síðan til B og loks til C. Eftir að A fær útsendinguna, þá getur geymt gögn í útsendingunni. Þegar útsendingin er send til B getur B fengið gögnin sem A geymir frá útsendingunni.

     

    Context.sendBroadcast ()

       Það sem sent er er venjuleg útsending og allir áskrifendur hafa tækifæri til að fá og vinna úr henni.

     

    Context.sendOrderedBroadcast ()

       Sending er skipuleg útsending. Kerfið mun framkvæma móttökutækin hvert af öðru í samræmi við forgang sem móttakandinn hefur lýst yfir. Fyrri móttakandi hefur rétt til að hætta útsendingu (BroadcastReceiver.abortBroadcast ()). Ef útsendingu er slitið af fyrri móttakara, þá getur sá síðarnefndi ekki lengur fengið útsendinguna. Fyrir pantaðan útsendingu getur fyrri móttakandi geymt vinnsluárangurinn í útsendingunni Ásetningur og komið því til næsta móttakara.

     
    Útsendingarmóttakari (BroadcastReceiver) er notaður til að taka á móti útsendingaráætlun og sending útvarpsáætlunar er framkvæmd með því að hringja í Context.sendBroadcast () og Context.sendOrderedBroadcast (). Venjulega er hægt að taka á móti útvarpsþáttum frá mörgum útvarpsviðtækjum sem eru áskrifendur að þessum ásetningi. Þessi aðgerð er svipuð og Móttakendur fyrir skilaboð í JMS. Að útfæra útsendingar móttakaraaðferð er eftirfarandi:

     

    Fyrsta skrefið: skilgreina útsendingarmóttakara, erfa BroadcastReceiver og endurskrifa onReceive () aðferðina.

    opinber bekkur IncomingSMSReceiver extendsBroadcastReceiver {
      @ Yfirtaka opinbert tómarúm á móttöku (Contextcontext, Intentintent) {
      }
    }

     

    Skref 2: Gerast áskrifandi að útsendingunni Áhugasemi, það eru tvær áskriftaraðferðir:

    Fyrsta tegundin: notaðu kóða til að gerast áskrifandi (kraftmikil áskrift)

    IntentFilter filter = newIntentFilter ("android.provider.Telephony.SMS_RECEIVED");
    IncomingSMSReceiver móttakari = newIncomingSMSReceiver ();
    registerReceiver (móttakari, sía);

     

    Önnur gerðin: Gerast áskrifandi að hnút í AndroidManifest.xml skránni (fast áskrift)


      
           
      


    Lítum á muninn á kraftmikilli útsendingaráskrift og áskriftarstöðvar:
    Stöðug áskriftarsending er einnig kölluð: íbúaútsending. Þegar umsókn er lokað, ef það eru send skilaboð, þá getur útsendingarmóttakandinn sem þú skrifaðir einnig fengið þau. Skráningaraðferð þess er AndroidManifast í umsókn þinni. .xml fyrir áskrift.

     

    Kraftmikil áskriftarútsending er einnig kölluð: útvarp erlendis Þegar umsókn lýkur hverfur útsendingin eðlilega. Til dæmis gerist þú áskrifandi að útsendingunni í onCreate eða onResume í aðgerðinni og þú verður að segja upp útsendingaráskriftinni í onDestory eða onPause. Annars verður tilkynnt um undantekningu þannig að útsendingarmóttakandi þinn mun vera erlendis.

     

    Það er enn eitt smáatriðið hér sem eru tvær áskriftaraðferðir. Þegar þú sendir útsendingar þarftu að hafa gaum að: Óbeina ásetningaaðferðin er notuð við öfluga skráningu, svo þú þarft að nota óbeina ásetning til að senda þegar þú sendir útsendingar. , Annars getur útsendingarmóttakandinn ekki tekið á móti útsendingunni. Gefðu gaum að þessum lið. En þegar þú gerist áskrifandi á statískan hátt, vegna þess að það er áskrifandi í AndroidMainfest.xml, er hægt að nota skjáinn Intent og implicit Intent þegar þú sendir útsendingar (auðvitað er þetta aðeins fyrir útsendingarmóttakara sem við skilgreinum af okkur sjálfum), svo bara ef við notum almennt óbeina Ætlun að senda útsendingu.

     

    Lítum á dæmi:

    Kíktu á uppbyggingu verkefnisins:

     

    Kíktu á stöðugu áskriftarútvarpið:
    pakki com.broadcast.demo;

    flytja inn android.app.Activity;
    flytja inn android.content.Intent;
    flytja inn android.os.Bundle;
    flytja inn android.view.View;
    flytja inn android.view.View.OnClickListener;
    flytja inn android.widget.Button;

    flytja inn com.example.androidbroadcastdemo.R;

    / **
     * Stöðug útsending áskriftar
     * @höfundur weijiang204321
     *
     */
    public class StaticRegisterBroadcastActivity framlengir virkni {

    @ Yfirstjórn
    verndað tómarúm onCreate (Búnt vistaðInstanceState) {
    super.onCreate (savedInstanceState);
    setContentView (R.layout.activity_main);
    Hnappur btn = (Hnappur) findViewById (R.id.btn);
    Til
    btn.setOnClickListener (nýr OnClickListener () {
    @ Yfirstjórn
    opinbert ógilt onClick (Skoða v) {
    // Notaðu kyrrstæða leið til að skrá útsendinguna, þú getur notað skjááformið til að senda útsendinguna
    Áætlun útsending = ný ætlun ("com.broadcast.set.broadcast");
    sendBroadcast (útsending, núll);
    }
    Til
    });
    }
    Til
    }


    Gerast áskrifandi að AndroidMainfest.xml:



    <manifest xmlns:android="
    http://schemas.android.com/apk/res/android"
        pakki = "com.example.androidbroadcastdemo"
        android: versionCode = "1"
        android: versionName = "1.0">

        <notar-sdk
            android: minSdkVersion = "8"
            android: targetSdkVersion = "18" />
       
       
       
       
       
       

        <umsókn
            android: allowBackup = "satt"
            android: icon = "@ drawable / ic_launcher"
            android: label = "@ string / app_name"
            android: theme = "@ style / AppTheme">
            <virkni
                android: name = "com.broadcast.demo.StaticRegisterBroadcastActivity"
                android: label = "@ string / app_name">
               
                   
                   
               
           
           
           
           
               
                   
               
           
           
           
           
           
               
                   
               
           
           
           
           
               
                   
               
           
           
           
           
           
               
                   
               
           
           
       

    Ekki hafa áhyggjur af hinu innihaldinu í bili, eins og við munum ræða síðar, hér einbeitum við okkur aðeins að skráningu kyrrstöðuútvarps


          
               
                   
               
           


    Lítum á móttakara útsendingarinnar:

    pakki com.broadcast.receiver;

    flytja inn android.content.BroadcastReceiver;
    flytja inn android.content.Context;
    flytja inn android.content.Intent;
    flytja inn android.util.Log;

    / **
     * Útsendingarmóttakari
     * @höfundur weijiang204321
     *
     */
    opinber bekk UnSortBroadcastReceiver framlengir BroadcastReceiver {

    @ Yfirstjórn
    ógilt almenning á móttöku (samhengi samhengi, ásetningur)
    Log.e ("Intent_Action:", intention.getAction () + "");
    }

    }
    Rökfræðin í OnReceive aðferðinni í útsendingarmóttakaranum er mjög einföld, sem er að prenta innihald Aðgerðarinnar.
    Keyrðu forritið, niðurstaðan er mjög einföld, hér er ekki myndin.

     

    Lítum á kraftmikla áskriftir:


    pakki com.broadcast.demo;

    flytja inn android.app.Activity;
    flytja inn android.content.Intent;
    flytja inn android.content.IntentFilter;
    flytja inn android.os.Bundle;
    flytja inn android.view.View;
    flytja inn android.view.View.OnClickListener;
    flytja inn android.widget.Button;

    flytja inn com.broadcast.receiver.UnSortBroadcastReceiver;
    flytja inn com.example.androidbroadcastdemo.R;

    / **
     * Notaðu kraftmikla leið til að skrá útsendingu
     * @höfundur weijiang204321
     *
     */
    public class DynamicRegisterBroadcastActivity framlengir virkni {
    Til
    opinber truflanir loka strengur NEW_LIFEFORM_DETECTED = "com.dxz.broadcasttest.NEW_LIFEFORM";
    verndaður UnSortBroadcastReceiver móttakari;
    Til
    @ Yfirstjórn
    verndað tómarúm onCreate (Búnt vistaðInstanceState) {
    super.onCreate (savedInstanceState);
    setContentView (R.layout.activity_main);
    Hnappur btn0 = (Hnappur) findViewById (R.id.btn);
    btn0.setOnClickListener (nýr OnClickListener () {
    opinbert ógilt onClick (Skoða v) {
    // Sendu útsendingu
    Intent it = new Intent (NEW_LIFEFORM_DETECTED);
    sendBroadcast (það);
    }
    });
    }

    @ Yfirstjórn
    varið tómarúm á Resume () {
    super.onResume ();
    // Skráðu þig í útsendingu
    IntentFilter counterActionFilter = nýr IntentFilter (NEW_LIFEFORM_DETECTED);
    móttakari = nýr UnSortBroadcastReceiver ();
    registerReceiver (móttakari, counterActionFilter);
    }

    @ Yfirstjórn
    verndað tómarúm onPause () {
    super.onPause ();
    // Hætta við útsendingu
    unregisterReceiver (móttakari);
    }
    }
    Hér erum við að gerast áskrifendur að útsendingu á OnResume og segja upp áskrift að útsendingu á OnPause.
    Breyttu hleyptri virkni í DynamicRegisterBroadcastActivity í AndroidMainfest.xml. Hinu innihaldinu þarf ekki að breyta. Keyrðu forritið og prentaðu niðurstaðan er mjög einföld, svo ég sé ekki myndina hér.

     

    Lítum á skipulagða útsendingu og óskipulagða útsendingu

    Við höfum þegar nefnt þetta í byrjun, við skulum skoða órótt útsendingar:

    Fyrst skilgreinum við tvo útsendingar móttakara:

    Fyrsti útsendingarmóttakandinn:


    pakki com.broadcast.receiver;

    flytja inn android.content.BroadcastReceiver;
    flytja inn android.content.Context;
    flytja inn android.content.Intent;
    flytja inn android.util.Log;

    / **
     * Útsendingarmóttakari A
     * @höfundur weijiang204321
     *
     */
    public class SortBroadcastReceiverA framlengir BroadcastReceiver {

    @ Yfirstjórn
    ógilt almenning á móttöku (samhengi samhengi, ásetningur)
    Log.e („Demo:“, „útsendingartæki A“);
    }

    }
    Seinni útsendingarmóttakandinn:

    pakki com.broadcast.receiver;

    flytja inn android.content.BroadcastReceiver;
    flytja inn android.content.Context;
    flytja inn android.content.Intent;
    flytja inn android.util.Log;

    / **
     * Útsendingarmóttakari B
     * @höfundur weijiang204321
     *
     */
    public class SortBroadcastReceiverB framlengir BroadcastReceiver {

    @ Yfirstjórn
    ógilt almenning á móttöku (samhengi samhengi, ásetningur)
    Log.e ("Demo:", "Broadcast B");
    }

    Til
    Til
    }


    Gerast áskrifandi að útsendingu í AndroidMainfest.xml


     
               
                   
               

           

               
                   
               

    rekstrarniðurstaða:


    Hlaupaniðurstaðan er svolítið skrýtin. Af hverju er móttakari B að framan og móttakari A að aftan? Ástæðan er sú að þegar við gerum okkur áskrift að útsendingunni í AndroidMainfest.xml, stillum við gildi: eigindagildi forgangs í ætlunarsíunni. Því stærra sem gildið er, því hærra er forgangurinn. , Forgangur móttakara B er 1000, forgangur móttakara A er 999, þannig að B tekur við útsendingunni fyrst, og þá fær A hana, en það er engin tenging milli móttakara B og móttakara A, og það getur ekki verið nein samskipti Já, vegna þess að þetta er útvarpssending og ósamstillt getum við gert tilraun með því að bæta kóða við onReceiver aðferðina í B:

    abortBroadcast (); // Ljúktu flutningi þessarar útsendingar

    rekstrarniðurstaða:

     

    Við sjáum hvetjandi villu, það er að útsendingu sem ekki er skipað er óheimilt að ljúka útsendingunni. Reyndar er uppsögn gagnslaus því móttakari A fær enn útsendinguna.

     

    Lítum á skipulega útsendingu, breyta þarf kóðanum:

    Það fyrsta er þegar útsending er send:


    Áætlun útsending = ný ætlun ("com.broadcast.set.broadcast");
    sendOrderedBroadcast (útsending, null);
    Bættu síðan við aðferð til að ljúka útsendingunni í B móttakara:
    abortBroadcast ();

    Hinum kóðanum þarf ekki að breyta, aðgerðarniðurstaðan:

     

    Það er aðeins móttakari B, móttakari A tekur ekki á móti útsendingunni, vegna þess að útsendingunni er slitið í móttakara B og síðari móttakendur geta ekki samþykkt það.

    Breyttu kóðanum hér að neðan:

    Viðtakandi B:


    pakki com.broadcast.receiver;

    flytja inn android.content.BroadcastReceiver;
    flytja inn android.content.Context;
    flytja inn android.content.Intent;
    flytja inn android.os.Bundle;
    flytja inn android.util.Log;

    / **
     * Útsendingarmóttakari B
     * @höfundur weijiang204321
     *
     */
    public class SortBroadcastReceiverB framlengir BroadcastReceiver {

    @ Yfirstjórn
    ógilt almenning á móttöku (samhengi samhengi, ásetningur)
    Log.e ("Demo:", "útsending móttakari B");
    Knippaknippi = nýtt knippi ();
    bundle.putString ("næsta_viðtakandi", "næsta móttakari útsendingar");
    setResultExtras (búnt);
    }
    Til
    }
    Eftir að B tekur á móti útsendingunni geymir hún nokkur verðmæti og sendir það til næsta móttakara.


    Kóði móttakanda A:


    pakki com.broadcast.reciveive

     

     

     

     

    Listi allar Spurning

    gælunafn

    Tölvupóstur

    spurningar

    önnur varan okkar:

    Faglegur FM útvarpsstöð búnaðarpakki

     



     

    Hótel IPTV lausn

     


      Sláðu inn tölvupóst til að koma á óvart

      fmuser.org

      es.fmuser.org
      it.fmuser.org
      fr.fmuser.org
      de.fmuser.org
      af.fmuser.org -> afríku
      sq.fmuser.org -> albanska
      ar.fmuser.org -> arabísku
      hy.fmuser.org -> armenska
      az.fmuser.org -> Aserbaídsjan
      eu.fmuser.org -> baskneska
      be.fmuser.org -> Hvíta-Rússneska
      bg.fmuser.org -> búlgarska
      ca.fmuser.org -> katalónska
      zh-CN.fmuser.org -> kínverska (einfölduð)
      zh-TW.fmuser.org -> Kínverska (hefðbundin)
      hr.fmuser.org -> Króatíska
      cs.fmuser.org -> tékkneska
      da.fmuser.org -> danska
      nl.fmuser.org -> Hollendingar
      et.fmuser.org -> eistneska
      tl.fmuser.org -> filippseyska
      fi.fmuser.org -> finnska
      fr.fmuser.org -> franska
      gl.fmuser.org -> galisíska
      ka.fmuser.org -> Georgíumaður
      de.fmuser.org -> þýska
      el.fmuser.org -> gríska
      ht.fmuser.org -> krít frá Haítí
      iw.fmuser.org -> hebreska
      hi.fmuser.org -> hindí
      hu.fmuser.org -> ungverska
      is.fmuser.org -> Íslenska
      id.fmuser.org -> indónesísku
      ga.fmuser.org -> Írar
      it.fmuser.org -> ítalska
      ja.fmuser.org -> japanska
      ko.fmuser.org -> kóreska
      lv.fmuser.org -> Lettneska
      lt.fmuser.org -> Litháen
      mk.fmuser.org -> Makedónska
      ms.fmuser.org -> Malay
      mt.fmuser.org -> maltneska
      no.fmuser.org -> norska
      fa.fmuser.org -> persneska
      pl.fmuser.org -> pólska
      pt.fmuser.org -> portúgalska
      ro.fmuser.org -> rúmensk
      ru.fmuser.org -> rússneska
      sr.fmuser.org -> serbneska
      sk.fmuser.org -> Slóvakía
      sl.fmuser.org -> Slóvenía
      es.fmuser.org -> spænska
      sw.fmuser.org -> svahílí
      sv.fmuser.org -> sænska
      th.fmuser.org -> Tælenskur
      tr.fmuser.org -> tyrkneska
      uk.fmuser.org -> Úkraínska
      ur.fmuser.org -> úrdú
      vi.fmuser.org -> Víetnam
      cy.fmuser.org -> velska
      yi.fmuser.org -> jiddíska

       
  •  

    FMUSER Wirless senda vídeó og hljóð auðveldara!

  • Hafa samband

    Heimilisfang:
    No.305 herbergi HuiLan bygging nr.273 Huanpu Road Guangzhou Kína 510620

    E-mail:
    [netvarið]

    Sími / WhatApps:
    8618078869184 +

  • Flokkar

  • Fréttabréf

    FYRSTA EÐA FULLT Nafn

    E-mail

  • PayPal lausn  Western UnionBank of China
    E-mail:[netvarið]   WhatsApp: +8618078869184 Skype: sky198710021 Spjallaðu við mig
    Copyright 2006-2020 Powered By www.fmuser.org

    Hafðu samband við okkur