FMUSER Wirless Transmèt videyo ak odyo pi fasil!

[imèl pwoteje] WhatsApp + NAN
Lang

    Eksplikasyon detaye sou emisyon nan android

     

    Emisyon divize an de diferan kalite: "emisyon Nòmal" ak "emisyon Lòd". Emisyon òdinè se konplètman asenkron epi yo ka resevwa pa tout récepteurs emisyon an menm tan an (lojikman). Efikasite nan livrezon mesaj se relativman wo, men dezavantaj la se ke reseptè a pa ka pase rezilta pwosesis la reseptè kap vini an, epi li pa ka sispann. Difizyon Entansyon pwopagasyon; sepandan, te bay lòd emisyon ki baze sou priyorite a te deklare pa reseptè a (te deklare nan android la: atribi priyorite nan eleman entansyon-filtre a, pi gwo a nimewo a, ki pi wo a priyorite a, seri a valè: -1000 a 1000. Li se tou posib Rele setPriority a () nan objè a IntentFilter yo mete), ak moun k ap resevwa a resevwa emisyon an nan vire. Pa egzanp, si nivo A pi wo pase sa B, epi nivo B pi wo pase C, lè sa a emisyon an premye transmèt nan A, Lè sa a, nan B, epi finalman nan C. Apre A vin emisyon an, li ka estoke done nan emisyon an. Lè emisyon an voye bay B, B ka jwenn done ki estoke pa A nan emisyon an.

     

    Context.sendBroadcast ()

       Ki sa ki voye se yon emisyon òdinè, ak tout abonnés gen opòtinite pou jwenn ak trete li.

     

    Context.sendOrderedBroadcast ()

       Voye se yon emisyon òdone. Sistèm lan pral egzekite récepteurs yo youn pa youn selon priyorite deklare pa reseptè a. Reseptè anvan an gen dwa pou mete fen nan emisyon an (BroadcastReceiver.abortBroadcast ()). Si emisyon an sispann pa reseptè anvan an, lèt la Reseptè a pa kapab jwenn emisyon an ankò. Pou emisyon te bay lòd, reseptè anvan an ka estoke rezilta pwosesis la nan entansyon emisyon an, epi pase l bay reseptè kap vini an.

     
    Emetteur destinataire (BroadcastReceiver) ki itilize pou resevwa difizyon entansyon, ak voye diffusion entansyon reyalize lè w rele Context.sendBroadcast () ak Context.sendOrderedBroadcast (). Anjeneral yon entansyon difizyon ka resevwa pa récepteurs difizyon miltip enskri nan entansyon sa a. Karakteristik sa a sanble ak récepteurs mesaj Topic nan JMS. Pou aplike yon metòd reseptè emisyon se jan sa a:

     

    Premye etap la: defini reseptè a emisyon, eritye BroadcastReceiver, ak reyekri onReceive () metòd la.

    klas piblik IncomingSMSReceiver finBroadcastReceiver {
      @Override piblik anile onReceive (Contextcontext, Entansyon) {
      }
    }

     

    Etap 2: Abònman nan difizyon Entansyon an nan enterè, gen de metòd abònman:

    Premye kalite a: itilize kòd pouw abònman (dinamik abònman)

    IntentFilter filtre = newIntentFilter ("android.provider.Telephony.SMS_RECEIVED");
    IncomingSMSReceiver reseptè = newIncomingSMSReceiver ();
    registerReceiver (reseptè, filtre);

     

    Dezyèm kalite a: Abònman nan ne nan dosye a AndroidManifest.xml (abònman estatik)


      
           
      


    Ann pran yon gade nan diferans ki genyen ant abònman emisyon dinamik ak abònman emisyon estatik:
    Emisyon abònman estatik yo te rele tou: emisyon rezidan Lè aplikasyon w lan fèmen, si gen yon mesaj emisyon, reseptè emisyon ou te ekri a kapab resevwa li tou. Metòd enskripsyon li se AndroidManifast nan aplikasyon w lan. .xml pou abònman.

     

    Emisyon abònman dinamik yo te rele tou: emisyon ki pa rezidan. Lè aplikasyon an fini, emisyon an pral natirèlman disparèt. Pou egzanp, ou abònman nan emisyon an nan onCreate oswa onResume nan aktivite a, epi ou dwe anile abònman nan emisyon nan onDestory oswa onPause. Sinon, yo pral rapòte yon eksepsyon, se konsa reseptè emisyon ou yo pral yon ki pa rezidan.

     

    Gen yon lòt detay isit la ki se de metòd abònman yo. Lè w ap voye emisyon, ou bezwen peye atansyon sou: Metòd entansyon enplisit la itilize pou enskripsyon dinamik, kidonk ou bezwen sèvi ak entansyon enplisit pou voye lè w ap voye emisyon. , Sinon reseptè emisyon an pa yo pral kapab resevwa emisyon an. Peye atansyon sou pwen sa a. Men, lè abònman estatik, paske li se enskri nan AndroidMainfest.xml, li posib yo sèvi ak ekspozisyon Entansyon ak entansyon enplisit lè voye emisyon (nan kou sa a se sèlman pou emisyon récepteurs defini nan tèt nou), se konsa jis nan ka, Nou jeneralman itilize enplisit Entansyon pou voye emisyon.

     

    Ann gade yon egzanp:

    Fè yon gade nan estrikti pwojè a:

     

    Pran yon gade nan emisyon an abònman estatik:
    pake com.broadcast.demo;

    enpòte android.app.Activity;
    enpòte android.content.Intent;
    enpòte android.os.Bundle;
    enpòte android.view.View;
    enpòte android.view.View.OnClickListener;
    enpòte android.widget.Button;

    enpòte com.example.androidbroadcastdemo.R;

    / **
     * Statik abònman emisyon
     * @ otè weijiang204321
     *
     */
    klas piblik StaticRegisterBroadcastActivity fin aktivite {

    @Ann plase
    pwoteje anile onCreate (Bundle savedInstanceState) {
    super.onCreate (savedInstanceState);
    setContentView (R.layout.activity_main);
    Bouton btn = (bouton) findViewById (R.id.btn);
    Pou
    btn.setOnClickListener (nouvo OnClickListener () {
    @Ann plase
    anile piblik onClick (View v) {
    // Sèvi ak yon fason estatik yo enskri emisyon an, ou ka itilize entansyon an ekspozisyon voye emisyon an
    Entansyon difize = nouvo Entansyon ("com.broadcast.set.broadcast");
    sendBroadcast (emisyon, nil);
    }
    Pou
    });
    }
    Pou
    }


    Abònman nan AndroidMainfest.xml:



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

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

        <aplikasyon
            android: allowBackup = "vre"
            android: icon = "@ drawable / ic_launcher"
            android: label = "@ string / app_name"
            android: tèm = "@ style / AppTheme">
            <aktivite
                android: name = "com.broadcast.demo.StaticRegisterBroadcastActivity"
                android: label = "@ string / app_name">
               
                   
                   
               
           
           
           
           
               
                   
               
           
           
           
           
           
               
                   
               
           
           
           
           
               
                   
               
           
           
           
           
           
               
                   
               
           
           
       

    Pa enkyete w sou lòt kontni an pou kounye a, menm jan nou pral pale sou pita, isit la nou sèlman konsantre sou enskripsyon an nan emisyon estatik


          
               
                   
               
           


    Ann pran yon gade nan reseptè a nan emisyon an:

    pake com.broadcast.receiver;

    enpòte android.content.BroadcastReceiver;
    enpòte android.content.Context;
    enpòte android.content.Intent;
    enpòte android.util.Log;

    / **
     * Emisyon reseptè
     * @ otè weijiang204321
     *
     */
    klas piblik UnSortBroadcastReceiver fin BroadcastReceiver {

    @Ann plase
    anile piblik onReceive (kontèks kontèks, entansyon entansyon) {
    Log.e ("Intent_Action:", intent.getAction () + "");
    }

    }
    Lojik la nan metòd la onReceive nan reseptè a emisyon se trè senp, ki se enprime kontni an nan Aksyon an.
    Kouri pwogram nan, rezilta a se trè senp, isit la se pa foto an.

     

    Ann pran yon gade nan abònman dinamik:


    pake com.broadcast.demo;

    enpòte android.app.Activity;
    enpòte android.content.Intent;
    enpòte android.content.IntentFilter;
    enpòte android.os.Bundle;
    enpòte android.view.View;
    enpòte android.view.View.OnClickListener;
    enpòte android.widget.Button;

    enpòte com.broadcast.receiver.UnSortBroadcastReceiver;
    enpòte com.example.androidbroadcastdemo.R;

    / **
     * Sèvi ak fason dinamik yo enskri emisyon
     * @ otè weijiang204321
     *
     */
    klas piblik DynamicRegisterBroadcastActivity fin Aktivite {
    Pou
    piblik estatik final fisèl NEW_LIFEFORM_DETECTED = "com.dxz.broadcasttest.NEW_LIFEFORM";
    reseptè UnSortBroadcastReceiver pwoteje;
    Pou
    @Ann plase
    pwoteje anile onCreate (Bundle savedInstanceState) {
    super.onCreate (savedInstanceState);
    setContentView (R.layout.activity_main);
    Bouton btn0 = (Bouton) findViewById (R.id.btn);
    btn0.setOnClickListener (nouvo OnClickListener () {
    anile piblik onClick (View v) {
    // Voye emisyon
    Entansyon li = nouvo Entansyon (NEW_LIFEFORM_DETECTED);
    sendBroadcast (li);
    }
    });
    }

    @Ann plase
    pwoteje anile souResume () {
    super.onResume ();
    // Enskri pou emisyon
    IntentFilter counterActionFilter = nouvo IntentFilter (NEW_LIFEFORM_DETECTED);
    reseptè = nouvo UnSortBroadcastReceiver ();
    registerReceiver (reseptè, counterActionFilter);
    }

    @Ann plase
    pwoteje anile onPause () {
    super.onPause ();
    // Anile emisyon
    unregisterReceiver (reseptè);
    }
    }
    Isit la nou abònman nan difize nan onResume, ak koupe abònman nan difize nan onPause.
    Chanje Aktivite lanse a DynamicRegisterBroadcastActivity nan AndroidMainfest.xml. Lòt kontni an pa bezwen modifye. Kouri pwogram nan ak enprime rezilta a se trè senp, Se konsa, mwen pa pral wè foto a isit la.

     

    Ann pran yon gade nan difize lòd ak difize san lòd

    Nou te deja mansyone sa a nan kòmansman an, kite a pran yon gade nan difize dezòd:

    Premyèman nou defini de récepteurs emisyon:

    Premye reseptè emisyon an:


    pake com.broadcast.receiver;

    enpòte android.content.BroadcastReceiver;
    enpòte android.content.Context;
    enpòte android.content.Intent;
    enpòte android.util.Log;

    / **
     * Emisyon reseptè A
     * @ otè weijiang204321
     *
     */
    klas piblik SortBroadcastReceiverA fin BroadcastReceiver {

    @Ann plase
    anile piblik onReceive (kontèks kontèks, entansyon entansyon) {
    Log.e ("Demo:", "emisyon reseptè A");
    }

    }
    Dezyèm reseptè emisyon an:

    pake com.broadcast.receiver;

    enpòte android.content.BroadcastReceiver;
    enpòte android.content.Context;
    enpòte android.content.Intent;
    enpòte android.util.Log;

    / **
     * Emisyon reseptè B
     * @ otè weijiang204321
     *
     */
    klas piblik SortBroadcastReceiverB fin BroadcastReceiver {

    @Ann plase
    anile piblik onReceive (kontèks kontèks, entansyon entansyon) {
    Log.e ("Demo:", "Emisyon B");
    }

    Pou
    Pou
    }


    Abònman nan emisyon nan AndroidMainfest.xml


     
               
                   
               

           

               
                   
               

    rezilta operasyon:


    Rezilta a kouri se yon ti jan etranj. Poukisa se reseptè B nan devan ak reseptè A nan do a? Rezon ki fè la se ke lè nou abònman nan emisyon an nan AndroidMainfest.xml, nou mete android a: priyorite valè atribi nan entansyon-filtre a. Pi gwo a valè a, ki pi wo a priyorite a. , Priyorite nan reseptè B se 1000, priyorite nan reseptè A se 999, se konsa B resevwa emisyon an premye, ak Lè sa a, A resevwa li, men pa gen okenn koneksyon ant reseptè B ak reseptè A, epi pa ka gen okenn entèraksyon Wi, paske sa a se yon emisyon soti-of-lòd ak asenkron, nou ka fè yon eksperyans lè yo ajoute kòd nan metòd la onReceiver nan B:

    abortBroadcast (); // Mete fen nan transmisyon emisyon sa a

    rezilta operasyon:

     

    Nou ka wè erè a èd memwa, se sa ki, ki pa Peye-bay lòd emisyon pa gen dwa mete fen nan emisyon an. An reyalite, revokasyon se initil, paske reseptè A toujou resevwa emisyon an.

     

    Ann pran yon gade nan difize lòd, kòd la bezwen modifye:

    Premye a se lè w ap voye yon emisyon:


    Entansyon difize = nouvo Entansyon ("com.broadcast.set.broadcast");
    sendOrderedBroadcast (emisyon, nil);
    Lè sa a, ajoute yon metòd mete fen nan emisyon an nan reseptè a B:
    avòt difize ();

    Lòt kòd la pa bezwen modifye, rezilta operasyon an:

     

    Gen sèlman reseptè B, reseptè A pa resevwa emisyon an, paske emisyon an sispann nan reseptè B, ak récepteurs ki vin apre yo pa ka aksepte li.

    Modifye kòd ki anba a:

    Moun k ap resevwa B:


    pake com.broadcast.receiver;

    enpòte android.content.BroadcastReceiver;
    enpòte android.content.Context;
    enpòte android.content.Intent;
    enpòte android.os.Bundle;
    enpòte android.util.Log;

    / **
     * Emisyon reseptè B
     * @ otè weijiang204321
     *
     */
    klas piblik SortBroadcastReceiverB fin BroadcastReceiver {

    @Ann plase
    anile piblik onReceive (kontèks kontèks, entansyon entansyon) {
    Log.e ("Demo:", "emisyon reseptè B");
    Pake pake = nouvo pake ();
    bundle.putString ("next_receiver", "pwochen emisyon reseptè");
    setResultExtras (pake);
    }
    Pou
    }
    Apre B resevwa emisyon an, li estoke kèk valè epi li pase li nan reseptè kap vini an.


    Kòd Reseptè A a:


    pake com.broadcast.receive

     

     

     

     

    Make tout Kesyon

    Ti non jwèt

    Imèl

    Kesyon

    lòt pwodwi nou an:

    Pwofesyonèl pakè ekipman estasyon radyo FM

     



     

    Solisyon IPTV otèl

     


      Antre nan imèl yo ka resevwa yon sipriz

      fmuser.org

      es.fmuser.org
      it.fmuser.org
      fr.fmuser.org
      de.fmuser.org
      af.fmuser.org -> Afriken
      sq.fmuser.org -> Albanyen
      ar.fmuser.org -> Arab
      hy.fmuser.org -> Armenian
      az.fmuser.org -> Azerbaydjan
      eu.fmuser.org -> Basque
      be.fmuser.org -> Belarisyen
      bg.fmuser.org -> Bulgarian
      ca.fmuser.org -> Katalan
      zh-CN.fmuser.org -> Chinwa (senplifye)
      zh-TW.fmuser.org -> Chinwa (Tradisyonèl)
      hr.fmuser.org -> Kwoasyen
      cs.fmuser.org -> Czech
      da.fmuser.org -> Danwa
      nl.fmuser.org -> Olandè
      et.fmuser.org -> Estonyen
      tl.fmuser.org -> Filipino
      fi.fmuser.org -> Finnish
      fr.fmuser.org -> Franse
      gl.fmuser.org -> Galisyen
      ka.fmuser.org -> Georgian
      de.fmuser.org -> Alman
      el.fmuser.org -> Greek
      ht.fmuser.org -> Kreyòl ayisyen
      iw.fmuser.org -> ebre
      hi.fmuser.org -> Hindi
      hu.fmuser.org -> Hungarian
      is.fmuser.org -> Icelandic
      id.fmuser.org -> Endonezyen
      ga.fmuser.org -> Ilandè
      it.fmuser.org -> Italyen
      ja.fmuser.org -> Japonè
      ko.fmuser.org -> Koreyen
      lv.fmuser.org -> Latvian
      lt.fmuser.org -> Lithuanian
      mk.fmuser.org -> Masedwan
      ms.fmuser.org -> Malay
      mt.fmuser.org -> Maltese
      no.fmuser.org -> Norwegian
      fa.fmuser.org -> Pèsik
      pl.fmuser.org -> Polonè
      pt.fmuser.org -> Pòtigè
      ro.fmuser.org -> Romanian
      ru.fmuser.org -> Ris
      sr.fmuser.org -> Sèb
      sk.fmuser.org -> Slovak
      sl.fmuser.org -> Slovenian
      es.fmuser.org -> Panyòl
      sw.fmuser.org -> Swahili
      sv.fmuser.org -> Syèd
      th.fmuser.org -> Thai
      tr.fmuser.org -> Tik
      uk.fmuser.org -> Ikrenyen
      ur.fmuser.org -> Oudou
      vi.fmuser.org -> Vietnamese
      cy.fmuser.org -> Welsh
      yi.fmuser.org -> Yiddish

       
  •  

    FMUSER Wirless Transmèt videyo ak odyo pi fasil!

  • Kontak

    adrès:
    No.305 Sal HuiLan Building No.273 Huanpu Road Guangzhou Lachin 510620

    E-mail:
    [imèl pwoteje]

    Tel / WhatApps:
    + 8618078869184

  • Kategori

  • Bilten nouvèl nou

    PREMYE OSWA NON KONPLÈ

    Imel

  • paypal solisyon  Western UnionBank nan Lachin
    E-mail:[imèl pwoteje]   WhatsApp: +8618078869184 Skype: sky198710021 Chat avè m '
    Copyright 2006-2020 Powered By www.fmuser.org

    Kontakte Nou