FMUSER Wirless Jittrażmetti Vidjo U Awdjo Aktar Faċli!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikans
sq.fmuser.org -> Albaniż
ar.fmuser.org -> Għarbi
hy.fmuser.org -> Armenjan
az.fmuser.org -> Ażerbajġan
eu.fmuser.org -> Bask
be.fmuser.org -> Belarussu
bg.fmuser.org -> Bulgaru
ca.fmuser.org -> Katalan
zh-CN.fmuser.org -> Ċiniż (Simplifikat)
zh-TW.fmuser.org -> Ċiniż (Tradizzjonali)
hr.fmuser.org -> Kroat
cs.fmuser.org -> Ċek
da.fmuser.org -> Daniż
nl.fmuser.org -> Olandiż
et.fmuser.org -> Estonjan
tl.fmuser.org -> Filippin
fi.fmuser.org -> Finlandiż
fr.fmuser.org -> Franċiż
gl.fmuser.org -> Galizjan
ka.fmuser.org -> Ġorġjan
de.fmuser.org -> Ġermaniż
el.fmuser.org -> Grieg
ht.fmuser.org -> Creole Ħaiti
iw.fmuser.org -> Ebrajk
hi.fmuser.org -> Ħindi
hu.fmuser.org -> Ungeriż
is.fmuser.org -> Iżlandiż
id.fmuser.org -> Indoneżjan
ga.fmuser.org -> Irlandiż
it.fmuser.org -> Taljan
ja.fmuser.org -> Ġappuniż
ko.fmuser.org -> Korean
lv.fmuser.org -> Latvjan
lt.fmuser.org -> Litwan
mk.fmuser.org -> Maċedonjan
ms.fmuser.org -> Malajan
mt.fmuser.org -> Malti
no.fmuser.org -> Norveġiż
fa.fmuser.org -> Persjan
pl.fmuser.org -> Pollakk
pt.fmuser.org -> Portugiż
ro.fmuser.org -> Rumen
ru.fmuser.org -> Russu
sr.fmuser.org -> Serb
sk.fmuser.org -> Slovakk
sl.fmuser.org -> Sloven
es.fmuser.org -> Spanjol
sw.fmuser.org -> Swaħili
sv.fmuser.org -> Svediż
th.fmuser.org -> Tajlandiż
tr.fmuser.org -> Tork
uk.fmuser.org -> Ukrain
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vjetnamiż
cy.fmuser.org -> Welsh
yi.fmuser.org -> Jiddix
Ix-xandir huwa maqsum f'żewġ tipi differenti: "Xandiriet normali" u "Xandiriet ordnati". Ix-xandir ordinarju huwa kompletament asinkroniku u jista 'jiġi riċevut mir-riċevituri tax-xandir kollha fl-istess ħin (loġikament). L-effiċjenza tal-kunsinna tal-messaġġ hija relattivament għolja, iżda l-iżvantaġġ huwa li r-riċevitur ma jistax jgħaddi r-riżultat tal-ipproċessar lir-riċevitur li jmiss, u ma jistax jintemm. Propagazzjoni tal-Intenzjoni tax-Xandir; madankollu, ix-xandir ordnat huwa bbażat fuq il-prijorità ddikjarata mir-riċevitur (iddikjarata fl-android: attribut ta 'prijorità tal-element ta' filtru intenzjoni, iktar ma jkun kbir in-numru, iktar tkun għolja l-prijorità, il-firxa tal-valur: -1000 sa 1000. Huwa wkoll possibbli Sejjaħ is-setPriority () tal-oġġett IntentFilter biex tissettja), u r-riċevitur jirċievi x-xandira min-naħa tiegħu. Pereżempju, jekk il-livell ta 'A huwa ogħla minn dak ta' B, u l-livell ta 'B huwa ogħla minn C, allura x-xandira hija l-ewwel trasmessa lil A, imbagħad lil B, u finalment lil C. Wara li A tirċievi x-xandira, hija jista 'jaħżen id-dejta fix-xandira. Meta x-xandira tintbagħat lil B, B jista 'jikseb id-dejta maħżuna minn A mix-xandira.
Context.sendBroadcast ()
Dak li jintbagħat huwa xandira ordinarja, u l-abbonati kollha għandhom l-opportunità li jiksbuha u jipproċessawha.
Context.sendOrderedBroadcast ()
Li tibgħat hija xandira ordnata. Is-sistema se tesegwixxi r-riċevituri waħda waħda skond il-prijorità ddikjarata mir-riċevitur. Ir-riċevitur preċedenti għandu d-dritt li jtemm ix-xandira (BroadcastReceiver.abortBroadcast ()). Jekk ix-xandira tintemm mir-riċevitur preċedenti, dan tal-aħħar Ir-riċevitur ma jistax ikollu x-xandira. Għal xandir ordnat, ir-riċevitur preċedenti jista 'jaħżen ir-riżultat tal-ipproċessar fl-Intenzjoni tax-xandir, u mbagħad jgħaddih lir-riċevitur li jmiss.
Ir-riċevitur tax-xandir (BroadcastReceiver) jintuża biex jirċievi l-Intenzjoni tax-xandir, u t-trażmissjoni tal-Intenzjoni tax-xandir issir billi ssejjaħ Context.sendBroadcast () u Context.sendOrderedBroadcast (). Normalment Intent tax-xandir jista 'jiġi riċevut minn riċevituri multipli tax-xandir sottoskritti għal din l-Intenzjoni. Din il-karatteristika hija simili għar-riċevituri tal-messaġġi Topic f'JMS. Biex timplimenta metodu ta 'riċevitur tax-xandir huwa kif ġej:
L-ewwel pass: iddefinixxi r-riċevitur tax-xandir, tiret BroadcastReceiver, u tikteb mill-ġdid il-metodu onReceive ().
klassi pubblika IncomingSMSReceiver testendsBroadcastReceiver {
@Override public void onReceive (Contextcontext, Intentintent) {
}
}
Pass 2: Abbona għax-xandira Intenzjoni ta 'interess, hemm żewġ metodi ta' abbonament:
L-ewwel tip: uża kodiċi biex tabbona (abbonament dinamiku)
Filtru IntentFilter = newIntentFilter ("android.provider.Telephony.SMS_RECEIVED");
Riċevitur IncomingSMSReceiver = newIncomingSMSReceiver ();
registerReceiver (riċevitur, filtru);
It - tieni tip: Abbona fil - nodu fil-fajl AndroidManifest.xml (abbonament statiku)
Ejja nagħtu ħarsa lejn id-differenza bejn abbonament ta 'xandir dinamiku u abbonament ta' xandir statiku:
Xandira ta 'abbonament statiku tissejjaħ ukoll: xandira residenti. Meta l-applikazzjoni tiegħek tkun magħluqa, jekk ikun hemm messaġġ imxandar, ir-riċevitur tax-xandir li ktibt jista 'wkoll jirċevih. Il-metodu ta 'reġistrazzjoni tiegħu huwa AndroidManifast fl-applikazzjoni tiegħek. .xml għall-abbonament.
Xandir ta 'abbonament dinamiku jissejjaħ ukoll: xandir mhux residenti. Meta tispiċċa l-applikazzjoni, ix-xandira naturalment tisparixxi. Pereżempju, inti tissottoskrivi għax-xandira fuq onCreate jew onResume fl-attività, u trid tikkanċella l-abbonament tax-xandir fuq onDestory jew onPause. Inkella, tiġi rrappurtata eċċezzjoni, allura r-riċevitur tax-xandir tiegħek ma jkunx residenti.
Hemm dettall ieħor hawnhekk li huma ż-żewġ metodi ta 'abbonament. Meta tibgħat xandiriet, trid toqgħod attent għal: Il-metodu ta 'intenzjoni impliċita jintuża għal reġistrazzjoni dinamika, allura għandek tuża intenzjoni impliċita biex tibgħat meta tibgħat xandiriet. , Inkella r-riċevitur tax-xandir ma jkunx jista 'jirċievi x-xandira. Oqgħod attent għal dan il-punt. Iżda meta tissottoskrivi b'mod statiku, minħabba li huwa sottoskritt f'AndroidMainfest.xml, huwa possibbli li tuża l-intenzjoni tal-wiri u l-Intenzjoni impliċita meta tibgħat xandiriet (naturalment dan huwa biss għar-riċevituri tax-xandir definiti minnna nfusna), għalhekk fil-każ, Aħna ġeneralment nużaw impliċiti Intenzjoni li tibgħat ix-xandira.
Ejja nħarsu lejn eżempju:
Agħti ħarsa lejn l-istruttura tal-proġett:
Agħti ħarsa lejn ix-xandir ta 'abbonament statiku:
pakkett com.broadcast.demo;
importa android.app.Activity;
importa android.content.Intent;
importa android.os.Bundle;
importa android.view.View;
importa android.view.View.OnClickListener;
importa android.widget.Button;
importazzjoni com.example.androidbroadcastdemo.R;
/ **
* Xandir ta 'abbonament statiku
* @ awtur weijiang204321
*
*/
klassi pubblika StaticRegisterBroadcastActivity testends Activity {
@ Override
vojt protett fuqCreate (Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
setContentView (R.layout.activity_main);
Buttuna btn = (Buttuna) findViewById (R.id.btn);
Lil
btn.setOnClickListener (OnClickListener ġdid () {
@ Override
vojt pubbliku fuq Ikklikkja (Ara v) {
// Uża mod statiku biex tirreġistra x-xandira, tista 'tuża l-intenzjoni tal-wiri biex tibgħat ix-xandira
Xandir ta 'intenzjoni = Intenzjoni ġdida ("com.broadcast.set.broadcast");
sendBroadcast (imxandar, null);
}
Lil
});
}
Lil
}
Abbona f'AndroidMainfest.xml:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package = "com.example.androidbroadcastdemo"
android: versionCode = "1"
android: versionName = "1.0">
<użi-sdk
android: minSdkVersion = "8"
android: targetSdkVersion = "18" />
<applikazzjoni
android: allowBackup = "veru"
android: icon = "@ drawable / ic_launcher"
android: label = "@ string / app_name"
android: theme = "@ style / AppTheme">
<attività
android: name = "com.broadcast.demo.StaticRegisterBroadcastActivity"
android: label = "@ string / app_name">
Tinkwetax dwar il-kontenut l-ieħor għalissa, kif ser nitkellmu dwaru aktar 'il quddiem, hawn aħna niffokaw biss fuq ir-reġistrazzjoni ta' xandiriet statiċi
Ejja nagħtu ħarsa lejn ir-riċevitur tax-xandira:
pakkett com.broadcast.receiver;
importazzjoni android.content.BroadcastReceiver;
importa android.content.Context;
importa android.content.Intent;
importazzjoni android.util.Log;
/ **
* Riċevitur tax-xandir
* @ awtur weijiang204321
*
*/
klassi pubblika UnSortBroadcastReceiver testends BroadcastReceiver {
@ Override
vojt pubbliku fuq Irċievi (Kuntest tal-Kuntest, Intenzjoni intenzjonata) {
Log.e ("Intent_Action:", intent.getAction () + "");
}
}
Il-loġika fil-metodu onReceive fir-riċevitur tax-xandir hija sempliċi ħafna, li hija li tipprintja l-kontenut tal-Azzjoni.
Mexxi l-programm, ir-riżultat huwa sempliċi ħafna, hawn mhix l-istampa.
Ejja nagħtu ħarsa lejn abbonamenti dinamiċi:
pakkett com.broadcast.demo;
importa android.app.Activity;
importa android.content.Intent;
importa android.content.IntentFilter;
importa android.os.Bundle;
importa android.view.View;
importa android.view.View.OnClickListener;
importa android.widget.Button;
importazzjoni com.broadcast.receiver.UnSortBroadcastReceiver;
importazzjoni com.example.androidbroadcastdemo.R;
/ **
* Uża mod dinamiku biex tirreġistra x-xandir
* @ awtur weijiang204321
*
*/
klassi pubblika DynamicRegisterBroadcastActivity testends Activity {
Lil
String finali statiku pubbliku NEW_LIFEFORM_DETECTED = "com.dxz.broadcasttest.NEW_LIFEFORM";
riċevitur UnSortBroadcastReceiver protett;
Lil
@ Override
vojt protett fuqCreate (Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
setContentView (R.layout.activity_main);
Buttuna btn0 = (Buttuna) findViewById (R.id.btn);
btn0.setOnClickListener (OnClickListener ġdid () {
vojt pubbliku fuq Ikklikkja (Ara v) {
// Ibgħat xandira
Intent it = intenzjoni ġdida (NEW_LIFEFORM_DETECTED);
ibgħat ix-xandir (it);
}
});
}
@ Override
vojt protett fuq Resume () {
super.onResume ();
// Irreġistra għax-xandir
IntentFilter counterActionFilter = IntentFilter ġdid (NEW_LIFEFORM_DETECTED);
riċevitur = UnSortBroadcastReceiver ġdid ();
registerReceiver (riċevitur, counterActionFilter);
}
@ Override
vojt protett onPause () {
super.onPause ();
// Ikkanċella x-xandira
unregisterReceiver (riċevitur);
}
}
Hawnhekk qed nabbonaw għax-xandir fuq onResume, u nabbandunaw ix-xandir fuq onPause.
Ibdel l-Attività mnedija għal DynamicRegisterBroadcastActivity f'AndroidMainfest.xml. Il-kontenut l-ieħor m'għandux għalfejn jiġi modifikat. Mexxi l-programm u ipprintja r-riżultat huwa sempliċi ħafna, allura ma narax l-istampa hawn.
Ejja nagħtu ħarsa lejn xandir ordnat u xandir mhux ordnat
Aħna diġà semmejna dan fil-bidu, ejja nagħtu ħarsa lejn ix-xandir diżordinat:
L-ewwel niddefinixxu żewġ riċevituri tax-xandir:
L-ewwel riċevitur tax-xandir:
pakkett com.broadcast.receiver;
importazzjoni android.content.BroadcastReceiver;
importa android.content.Context;
importa android.content.Intent;
importazzjoni android.util.Log;
/ **
* Xandir riċevitur A
* @ awtur weijiang204321
*
*/
klassi pubblika SortBroadcastReceiverA testendi BroadcastReceiver {
@ Override
vojt pubbliku fuq Irċievi (Kuntest tal-Kuntest, Intenzjoni intenzjonata) {
Log.e ("Demo:", "riċevitur tax-xandir A");
}
}
It-tieni riċevitur tax-xandir:
pakkett com.broadcast.receiver;
importazzjoni android.content.BroadcastReceiver;
importa android.content.Context;
importa android.content.Intent;
importazzjoni android.util.Log;
/ **
* Xandir riċevitur B
* @ awtur weijiang204321
*
*/
klassi pubblika SortBroadcastReceiverB testendi BroadcastReceiver {
@ Override
vojt pubbliku fuq Irċievi (Kuntest tal-Kuntest, Intenzjoni intenzjonata) {
Log.e ("Demo:", "Xandira B");
}
Lil
Lil
}
Abbona għax-xandir f'AndroidMainfest.xml
riżultat tal-operazzjoni:
Ir-riżultat tal-ġiri huwa kemmxejn stramb. Għaliex ir-riċevitur B fuq quddiem u r-riċevitur A fuq wara? Ir-raġuni hi li meta nabbonaw għax-xandira f'AndroidMainfest.xml, aħna nissettjaw il-valur tal-attribut android: prijorità fil-filtru tal-intenzjoni. Iktar ma jkun kbir il-valur, iktar tkun għolja l-prijorità. , Il-prijorità tar-riċevitur B hija 1000, il-prijorità tar-riċevitur A hija 999, allura B jirċievi x-xandira l-ewwel, u mbagħad A tirċeviha, imma m'hemm l-ebda konnessjoni bejn ir-riċevitur B u r-riċevitur A, u ma jistax ikun hemm interazzjoni Iva, minħabba li din hija xandira barra mill-ordni u mhux sinkronika, nistgħu nagħmlu esperiment billi nżidu kodiċi mal-metodu onReceiver f'B:
abortBroadcast (); // Ittemm it-trasmissjoni ta ’din ix-xandira
riżultat tal-operazzjoni:
Nistgħu naraw l-iżball fil-pront, jiġifieri, xandira mhux ordnata mhix permessa li ttemm ix-xandira. Fil-fatt, it-terminazzjoni hija inutli, għax ir-riċevitur A għadu jirċievi x-xandira.
Ejja nagħtu ħarsa lejn ix-xandir ordnat, il-kodiċi jeħtieġ li jiġi modifikat:
L-ewwel wieħed huwa meta tibgħat xandira:
Xandir ta 'intenzjoni = Intenzjoni ġdida ("com.broadcast.set.broadcast");
sendOrderedBroadcast (imxandar, null);
Imbagħad żid metodu biex ittemm ix-xandira fir-riċevitur B:
abortBroadcast ();
Il-kodiċi l-ieħor m'għandux għalfejn jiġi modifikat, ir-riżultat tal-operazzjoni:
Hemm biss riċevitur B, riċevitur A ma jirċevix ix-xandira, għax ix-xandira tintemm fir-riċevitur B, u r-riċevituri sussegwenti ma jistgħux jaċċettawha.
Immodifika l-kodiċi hawn taħt:
Riċevitur B:
pakkett com.broadcast.receiver;
importazzjoni android.content.BroadcastReceiver;
importa android.content.Context;
importa android.content.Intent;
importa android.os.Bundle;
importazzjoni android.util.Log;
/ **
* Xandir riċevitur B
* @ awtur weijiang204321
*
*/
klassi pubblika SortBroadcastReceiverB testendi BroadcastReceiver {
@ Override
vojt pubbliku fuq Irċievi (Kuntest tal-Kuntest, Intenzjoni intenzjonata) {
Log.e ("Demo:", "riċevitur tax-xandir B");
Bundle bundle = Bundle ġdid ();
bundle.putString ("riċevitur_li jmiss", "riċevitur tax-xandir li jmiss");
setResultExtras (bundle);
}
Lil
}
Wara li B jirċievi x-xandira, jaħżen xi valur u jgħaddih lir-riċevitur li jmiss.
Kodiċi tar-Riċevitur A:
pakkett com.broadcast.receive
prodotti oħra tagħna:
Pakkett tat-Tagħmir tal-Istazzjon tar-Radju FM Professjonali
|
||
|
Daħħal l-email biex tieħu sorpriża
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikans
sq.fmuser.org -> Albaniż
ar.fmuser.org -> Għarbi
hy.fmuser.org -> Armenjan
az.fmuser.org -> Ażerbajġan
eu.fmuser.org -> Bask
be.fmuser.org -> Belarussu
bg.fmuser.org -> Bulgaru
ca.fmuser.org -> Katalan
zh-CN.fmuser.org -> Ċiniż (Simplifikat)
zh-TW.fmuser.org -> Ċiniż (Tradizzjonali)
hr.fmuser.org -> Kroat
cs.fmuser.org -> Ċek
da.fmuser.org -> Daniż
nl.fmuser.org -> Olandiż
et.fmuser.org -> Estonjan
tl.fmuser.org -> Filippin
fi.fmuser.org -> Finlandiż
fr.fmuser.org -> Franċiż
gl.fmuser.org -> Galizjan
ka.fmuser.org -> Ġorġjan
de.fmuser.org -> Ġermaniż
el.fmuser.org -> Grieg
ht.fmuser.org -> Creole Ħaiti
iw.fmuser.org -> Ebrajk
hi.fmuser.org -> Ħindi
hu.fmuser.org -> Ungeriż
is.fmuser.org -> Iżlandiż
id.fmuser.org -> Indoneżjan
ga.fmuser.org -> Irlandiż
it.fmuser.org -> Taljan
ja.fmuser.org -> Ġappuniż
ko.fmuser.org -> Korean
lv.fmuser.org -> Latvjan
lt.fmuser.org -> Litwan
mk.fmuser.org -> Maċedonjan
ms.fmuser.org -> Malajan
mt.fmuser.org -> Malti
no.fmuser.org -> Norveġiż
fa.fmuser.org -> Persjan
pl.fmuser.org -> Pollakk
pt.fmuser.org -> Portugiż
ro.fmuser.org -> Rumen
ru.fmuser.org -> Russu
sr.fmuser.org -> Serb
sk.fmuser.org -> Slovakk
sl.fmuser.org -> Sloven
es.fmuser.org -> Spanjol
sw.fmuser.org -> Swaħili
sv.fmuser.org -> Svediż
th.fmuser.org -> Tajlandiż
tr.fmuser.org -> Tork
uk.fmuser.org -> Ukrain
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vjetnamiż
cy.fmuser.org -> Welsh
yi.fmuser.org -> Jiddix
FMUSER Wirless Jittrażmetti Vidjo U Awdjo Aktar Faċli!
kuntatt
indirizz:
No.305 Kamra HuiLan Building No.273 Huanpu Road Guangzhou China 510620
kategoriji
newsletter