FMUSER Físeán Tarchur Wirless Agus Fuaim Níos Éasca!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afracáinis
sq.fmuser.org -> Albáinis
ar.fmuser.org -> Araibis
hy.fmuser.org -> Airméinis
az.fmuser.org -> Asarbaiseáinis
eu.fmuser.org -> Bascais
be.fmuser.org -> Bealarúisis
bg.fmuser.org -> Bulgáiris
ca.fmuser.org -> Catalóinis
zh-CN.fmuser.org -> Sínis (Simplithe)
zh-TW.fmuser.org -> Sínis (Traidisiúnta)
hr.fmuser.org -> Cróitis
cs.fmuser.org -> Seiceach
da.fmuser.org -> Danmhairgis
nl.fmuser.org -> Ollainnis
et.fmuser.org -> Eastóinis
tl.fmuser.org -> Filipíneach
fi.fmuser.org -> Fionlainnis
fr.fmuser.org -> Fraincis
gl.fmuser.org -> Gailísis
ka.fmuser.org -> Seoirseach
de.fmuser.org -> Gearmáinis
el.fmuser.org -> Gréigis
ht.fmuser.org -> Haitian Creole
iw.fmuser.org -> Eabhrais
hi.fmuser.org -> Hiondúis
hu.fmuser.org -> Ungáiris
is.fmuser.org -> Íoslainnis
id.fmuser.org -> Indinéisis
ga.fmuser.org -> Gaeilge
it.fmuser.org -> Iodáilis
ja.fmuser.org -> Seapáinis
ko.fmuser.org -> Cóiréis
lv.fmuser.org -> Laitvis
lt.fmuser.org -> Liotuáinis
mk.fmuser.org -> Macadóinis
ms.fmuser.org -> Malaeis
mt.fmuser.org -> Máltais
no.fmuser.org -> Ioruais
fa.fmuser.org -> Peirsis
pl.fmuser.org -> Polainnis
pt.fmuser.org -> Portaingéilis
ro.fmuser.org -> Rómáinis
ru.fmuser.org -> Rúisis
sr.fmuser.org -> Seirbis
sk.fmuser.org -> An tSlóvaic
sl.fmuser.org -> Slóivéinis
es.fmuser.org -> Spáinnis
sw.fmuser.org -> Svahaílis
sv.fmuser.org -> Sualainnis
th.fmuser.org -> Téalainnis
tr.fmuser.org -> Tuircis
uk.fmuser.org -> Úcráinis
ur.fmuser.org -> Urdais
vi.fmuser.org -> Vítneam
cy.fmuser.org -> Breatnais
yi.fmuser.org -> Giúdais
Tá an craoltóireacht roinnte ina dhá chineál éagsúla: "Gnáthchraoltaí" agus "Craoltaí Ordaithe". Tá gnáthchraoladh go hiomlán asincrónach agus is féidir le gach glacadóir craolacháin é a fháil ag an am céanna (go loighciúil). Tá éifeachtúlacht seachadta teachtaireachta réasúnta ard, ach is é an míbhuntáiste nach féidir leis an nglacadóir an toradh próiseála a chur ar aghaidh chuig an gcéad ghlacadóir eile, agus ní féidir é a fhoirceannadh. Iomadú Intinne Craolacháin; áfach, tá craoladh ordaithe bunaithe ar an tosaíocht a dhearbhaíonn an glacadóir (dearbhaithe san android: tréith tosaíochta an eilimint scagaire intinne, is mó an uimhir, is airde an tosaíocht, an raon luacha: -1000 go 1000. Tá sé ann freisin is féidir Glaoigh ar an tacarPriority () den réad IntentFilter a shocrú), agus faigheann an faighteoir an craoladh ar a seal. Mar shampla, má tá leibhéal A níos airde ná leibhéal B, agus leibhéal B níos airde ná C, ansin tarchuirtear an craoladh chuig A, ansin go B, agus ar deireadh chuig C. Tar éis do A an craoladh a fháil, déanann sé in ann sonraí a stóráil sa chraoladh. Nuair a sheoltar an craoladh chuig B, is féidir le B na sonraí a stóráil ag A ón gcraoladh.
Comhthéacs.sendBroadcast ()
Is gnáthchraoladh an rud a sheoltar, agus bíonn an deis ag gach síntiúsóir é a fháil agus a phróiseáil.
Comhthéacs.sendOrderedBroadcast ()
Craoladh ordúil is ea an seoladh. Déanfaidh an córas na glacadóirí a fhorghníomhú ceann ar cheann de réir na tosaíochta a dhearbhaíonn an glacadóir. Tá sé de cheart ag an nglacadóir roimhe seo an craoladh a fhoirceannadh (BroadcastReceiver.abortBroadcast ()). Má chuireann an glacadóir roimhe seo deireadh leis an gcraoladh, an dara ceann Ní féidir leis an nglacadóir an craoladh a fháil a thuilleadh. Maidir le craoladh ordaithe, is féidir leis an nglacadóir roimhe seo an toradh próiseála a stóráil sa Intinn chraolta, agus ansin é a chur ar aghaidh chuig an gcéad ghlacadóir eile.
Úsáidtear glacadóir craolacháin (BroadcastReceiver) chun Intinn chraolta a fháil, agus déantar Intinn craolta a sheoladh trí ghlaoch ar Context.sendBroadcast () agus Context.sendOrderedBroadcast (). De ghnáth is féidir le glacadóirí ilchraolta atá suibscríofa leis an Intinn seo Intinn craolta a fháil. Tá an ghné seo cosúil le glacadóirí teachtaireachta Topaic i JMS. Seo a leanas modh glacadóra craolta:
An chéad chéim: sainmhínigh an glacadóir craolta, oidhreacht BroadcastReceiver, agus athscríobh an modh onReceive ().
aicme phoiblí IncomingSMSReceiver extendBroadcastReceiver {
Neamhní poiblí @Override onReceive (Contextcontext, Intentintent) {
}
}
Céim 2: Liostáil leis an intinn craolta spéise, tá dhá mhodh síntiúis ann:
An chéad chineál: bain úsáid as cód le liostáil (síntiús dinimiciúil)
Scagaire IntentFilter = newIntentFilter ("android.provider.Telephony.SMS_RECEIVED");
Glacadóir IncomingSMSReceiver = newIncomingSMSReceiver ();
registerReceiver (glacadóir, scagaire);
An dara cineál: Liostáil sa nód sa chomhad AndroidManifest.xml (síntiús statach)
Breathnaímid ar an difríocht idir síntiús craolacháin dinimiciúil agus síntiús craolta statach:
Tugtar craoladh síntiús statach freisin: craoladh cónaitheach. Nuair a bhíonn d’iarratas dúnta, má tá teachtaireacht craolta ann, is féidir leis an nglacadóir craolacháin a scríobh tú é a fháil freisin. Is é an modh cláraithe atá aige ná AndroidManifast i d’iarratas. .xml le haghaidh síntiúis.
Tugtar craoladh dinimiciúil síntiús freisin: craoladh neamhchónaitheach. Nuair a thiocfaidh deireadh leis an bhfeidhmchlár, beidh an craoladh imithe go nádúrtha. Mar shampla, liostálann tú leis an gcraoladh in onCreate nó onResume sa ghníomhaíocht, agus ní mór duit an síntiús craolta a chealú in onDestory nó onPause. Seachas sin, tabharfar tuairisc ar eisceacht, mar sin beidh do ghlacadóir craolta neamhchónaitheach.
Tá mionsonra amháin eile anseo is é sin an dá mhodh síntiúis. Agus craoltaí á seoladh agat, ní mór duit aird a thabhairt ar: Úsáidtear an modh intinne intuigthe le haghaidh clárú dinimiciúil, mar sin ní mór duit rún intuigthe a úsáid chun craoltaí a sheoladh. Seachas sin ní bheidh an glacadóir craolta in ann an craoladh a fháil. Tabhair aird ar an bpointe seo. Ach nuair a bhíonn tú ag suibscríobh go statach, toisc go bhfuil sé suibscríofa in AndroidMainfest.xml, is féidir Intinn taispeána agus Intinn intuigthe a úsáid agus craoltaí á seoladh (ar ndóigh níl sé seo ach do ghlacadóirí craolta atá sainithe againn féin), mar sin ar eagla na heagla, go ginearálta úsáidimid intuigthe Intinn craoladh a sheoladh.
Breathnaímid ar shampla:
Féach ar struchtúr an tionscadail:
Féach ar an gcraoladh síntiús statach:
pacáiste com.broadcast.demo;
allmhairiú android.app.Activity;
allmhairiú android.content.Intent;
allmhairiú android.os.Bundle;
allmhairiú android.view.View;
allmhairiú android.view.View.OnClickListener;
allmhairiú android.widget.Button;
allmhairiú com.example.androidbroadcastdemo.R;
/ **
* Craoladh síntiús statach
* @údar weijiang204321
*
*/
aicme phoiblí StaticRegisterBroadcastActivity ag leathnú Gníomhaíocht {
@Sárú
neamhní faoi chosaint arCreate (Beart sábhálaInstanceState) {
super.onCreate (savedInstanceState);
setContentView (R.layout.activity_main);
Cnaipe btn = (Cnaipe) findViewById (R.id.btn);
Chun
btn.setOnClickListener (OnClickListener nua () {
@Sárú
neamhní poiblí onClick (Amharc v) {
// Úsáid bealach statach chun an craoladh a chlárú, is féidir leat an rún taispeána a úsáid chun an craoladh a sheoladh
Craoladh intinne = Intinn nua ("com.broadcast.set.broadcast");
sendBroadcast (craoladh, null);
}
Chun
});
}
Chun
}
Liostáil in AndroidMainfest.xml:
<xmlns léir: android="http://schemas.android.com/apk/res/android"
pacáiste = "com.example.androidbroadcastdemo"
android: versionCode = "1"
android: versionName = "1.0">
< úsáideann-sdk
android: minSdkVersion = "8"
android: targetSdkVersion = "18" />
< iarratas
android: allowBackup = "fíor"
android: icon = "@ drawable / ic_launcher"
android: label = "@ string / app_name"
android: theme = "@ style / AppTheme">
< gníomhaíocht
android: name = "com.broadcast.demo.StaticRegisterBroadcastActivity"
android: label = "@ string / app_name">
Ná bíodh imní ort faoin ábhar eile anois, mar a mbeimid ag caint faoi níos déanaí, anseo ní dhírímid ach ar chraoltaí statacha a chlárú
Breathnaímid ar ghlacadóir an chraolta:
pacáiste com.broadcast.receiver;
allmhairiú android.content.BroadcastReceiver;
allmhairiú android.content.Context;
allmhairiú android.content.Intent;
allmhairiú android.util.Log;
/ **
* Glacadóir craolta
* @údar weijiang204321
*
*/
aicme phoiblí UnSortBroadcastReceiver ag leathnú BroadcastReceiver {
@Sárú
neamhní poiblí onReceive (Comhthéacs comhthéacs, rún intinne) {
Log.e ("Intent_Action:", intent.getAction () + "");
}
}
Tá an loighic sa mhodh onReceive sa ghlacadóir craolta an-simplí, is é sin ábhar an Ghnímh a phriontáil.
Rith an clár, tá an toradh an-simplí, ní anseo an pictiúr.
A ligean ar ghlacadh le breathnú ar síntiúis dinimiciúla:
pacáiste com.broadcast.demo;
allmhairiú android.app.Activity;
allmhairiú android.content.Intent;
allmhairiú android.content.IntentFilter;
allmhairiú android.os.Bundle;
allmhairiú android.view.View;
allmhairiú android.view.View.OnClickListener;
allmhairiú android.widget.Button;
allmhairiú com.broadcast.receiver.UnSortBroadcastReceiver;
allmhairiú com.example.androidbroadcastdemo.R;
/ **
* Úsáid bealach dinimiciúil chun craoladh a chlárú
* @údar weijiang204321
*
*/
aicme phoiblí DynamicRegisterBroadcastActivity ag leathnú Gníomhaíocht {
Chun
Teaghrán deiridh statach poiblí NEW_LIFEFORM_DETECTED = "com.dxz.broadcasttest.NEW_LIFEFORM";
glacadóir UnSortBroadcastReceiver faoi chosaint;
Chun
@Sárú
neamhní faoi chosaint arCreate (Beart sábhálaInstanceState) {
super.onCreate (savedInstanceState);
setContentView (R.layout.activity_main);
Cnaipe btn0 = (Cnaipe) findViewById (R.id.btn);
btn0.setOnClickListener (OnClickListener nua () {
neamhní poiblí onClick (Amharc v) {
// Seol craoladh
Intinn é = Intinn nua (NEW_LIFEFORM_DETECTED);
sendBroadcast (é);
}
});
}
@Sárú
neamhní faoi chosaint arResume () {
super.onResume ();
// Cláraigh le haghaidh craolta
IntentFilter counterActionFilter = IntentFilter nua (NEW_LIFEFORM_DETECTED);
glacadóir = UnSortBroadcastReceiver nua ();
registerReceiver (glacadóir, counterActionFilter);
}
@Sárú
neamhní faoi chosaint arPuse () {
super.onPause ();
// Cealaigh craoladh
unregisterReceiver (glacadóir);
}
}
Anseo táimid ag suibscríobh le craoladh in onResume, agus ag díliostáil le craoladh in onPause.
Athraigh an Ghníomhaíocht seolta go DynamicRegisterBroadcastActivity in AndroidMainfest.xml. Ní gá an t-ábhar eile a mhodhnú. Rith an clár agus priontáil an toradh an-simplí, mar sin ní fheicfidh mé an pictiúr anseo.
A ligean ar ghlacadh le breathnú ar craolachán ordaithe agus craolachán neamhordúil
Tá sé seo luaite againn cheana ag an tús, déanaimis féachaint ar chraoltóireacht neamhordúil:
Ar dtús sainímid dhá ghlacadóir craolta:
An chéad ghlacadóir craolta:
pacáiste com.broadcast.receiver;
allmhairiú android.content.BroadcastReceiver;
allmhairiú android.content.Context;
allmhairiú android.content.Intent;
allmhairiú android.util.Log;
/ **
* Glacadóir craolta A.
* @údar weijiang204321
*
*/
aicme phoiblí SortBroadcastReceiverA ag leathnú BroadcastReceiver {
@Sárú
neamhní poiblí onReceive (Comhthéacs comhthéacs, rún intinne) {
Log.e ("Taispeántas:", "glacadóir craolta A");
}
}
An dara glacadóir craolta:
pacáiste com.broadcast.receiver;
allmhairiú android.content.BroadcastReceiver;
allmhairiú android.content.Context;
allmhairiú android.content.Intent;
allmhairiú android.util.Log;
/ **
* Glacadóir craolta B.
* @údar weijiang204321
*
*/
aicme phoiblí SortBroadcastReceiverB ag leathnú BroadcastReceiver {
@Sárú
neamhní poiblí onReceive (Comhthéacs comhthéacs, rún intinne) {
Log.e ("Taispeántas:", "Craoladh B");
}
Chun
Chun
}
Liostáil le craoladh in AndroidMainfest.xml
toradh oibríochta:
Tá an toradh reatha rud beag aisteach. Cén fáth go bhfuil glacadóir B sa tosaigh agus glacadóir A sa chúl? Is é an chúis atá leis ná nuair a dhéanaimid liostáil leis an gcraoladh in AndroidMainfest.xml, socraímid an android: luach tréithe tosaíochta sa scagaire intinne. Is mó an luach, is airde an tosaíocht. , Is é 1000 tosaíocht ghlacadóir B, is é 999 tosaíocht ghlacadóra A, mar sin faigheann B an craoladh ar dtús, agus ansin faigheann A é, ach níl aon cheangal idir glacadóir B agus glacadóir A, agus ní féidir aon idirghníomhaíocht a bheith ann Sea, toisc gur craoladh as ord agus asincrónach é seo, is féidir linn turgnamh a dhéanamh trí chód a chur leis an modh onReceiver i B:
abortBroadcast (); // Cuir deireadh le tarchur an chraolta seo
toradh oibríochta:
Is féidir linn an earráid phras a fheiceáil, is é sin, ní cheadaítear do chraoladh neamhordúil an craoladh a fhoirceannadh. Déanta na fírinne, ní féidir an foirceannadh a úsáid, toisc go bhfaigheann glacadóir A an craoladh fós.
Breathnaímid ar chraoladh ordúil, is gá an cód a mhodhnú:
Is é an chéad cheann ná craoladh a sheoladh:
Craoladh intinne = Intinn nua ("com.broadcast.set.broadcast");
sendOrderedBroadcast (craoladh, null);
Ansin cuir modh leis chun an craoladh sa ghlacadóir B a fhoirceannadh:
abortBroadcast ();
Ní gá an cód eile a mhodhnú, toradh na hoibríochta:
Níl ann ach glacadóir B, ní fhaigheann glacadóir A an craoladh, toisc go gcuirtear deireadh leis an gcraoladh i nglacadóir B, agus ní féidir leis na glacadóirí ina dhiaidh sin glacadh leis.
Athraigh an cód thíos:
Faighteoir B:
pacáiste com.broadcast.receiver;
allmhairiú android.content.BroadcastReceiver;
allmhairiú android.content.Context;
allmhairiú android.content.Intent;
allmhairiú android.os.Bundle;
allmhairiú android.util.Log;
/ **
* Glacadóir craolta B.
* @údar weijiang204321
*
*/
aicme phoiblí SortBroadcastReceiverB ag leathnú BroadcastReceiver {
@Sárú
neamhní poiblí onReceive (Comhthéacs comhthéacs, rún intinne) {
Log.e ("Taispeántas:", "glacadóir craolta B");
Bundle bundle = Beart nua ();
bundle.putString ("next_receiver", "an chéad ghlacadóir craolta eile");
setResultExtras (bundle);
}
Chun
}
Tar éis do B an craoladh a fháil, stórálann sé luach éigin agus cuireann sé ar aghaidh chuig an gcéad ghlacadóir eile é.
Cód Glacadóra A:
pacáiste com.broadcast.receive
Ár táirge eile:
Pacáiste Trealamh Stáisiún Raidió FM Gairmiúla
|
||
|
Iontráil r-phost chun iontas a fháil
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afracáinis
sq.fmuser.org -> Albáinis
ar.fmuser.org -> Araibis
hy.fmuser.org -> Airméinis
az.fmuser.org -> Asarbaiseáinis
eu.fmuser.org -> Bascais
be.fmuser.org -> Bealarúisis
bg.fmuser.org -> Bulgáiris
ca.fmuser.org -> Catalóinis
zh-CN.fmuser.org -> Sínis (Simplithe)
zh-TW.fmuser.org -> Sínis (Traidisiúnta)
hr.fmuser.org -> Cróitis
cs.fmuser.org -> Seiceach
da.fmuser.org -> Danmhairgis
nl.fmuser.org -> Ollainnis
et.fmuser.org -> Eastóinis
tl.fmuser.org -> Filipíneach
fi.fmuser.org -> Fionlainnis
fr.fmuser.org -> Fraincis
gl.fmuser.org -> Gailísis
ka.fmuser.org -> Seoirseach
de.fmuser.org -> Gearmáinis
el.fmuser.org -> Gréigis
ht.fmuser.org -> Haitian Creole
iw.fmuser.org -> Eabhrais
hi.fmuser.org -> Hiondúis
hu.fmuser.org -> Ungáiris
is.fmuser.org -> Íoslainnis
id.fmuser.org -> Indinéisis
ga.fmuser.org -> Gaeilge
it.fmuser.org -> Iodáilis
ja.fmuser.org -> Seapáinis
ko.fmuser.org -> Cóiréis
lv.fmuser.org -> Laitvis
lt.fmuser.org -> Liotuáinis
mk.fmuser.org -> Macadóinis
ms.fmuser.org -> Malaeis
mt.fmuser.org -> Máltais
no.fmuser.org -> Ioruais
fa.fmuser.org -> Peirsis
pl.fmuser.org -> Polainnis
pt.fmuser.org -> Portaingéilis
ro.fmuser.org -> Rómáinis
ru.fmuser.org -> Rúisis
sr.fmuser.org -> Seirbis
sk.fmuser.org -> An tSlóvaic
sl.fmuser.org -> Slóivéinis
es.fmuser.org -> Spáinnis
sw.fmuser.org -> Svahaílis
sv.fmuser.org -> Sualainnis
th.fmuser.org -> Téalainnis
tr.fmuser.org -> Tuircis
uk.fmuser.org -> Úcráinis
ur.fmuser.org -> Urdais
vi.fmuser.org -> Vítneam
cy.fmuser.org -> Breatnais
yi.fmuser.org -> Giúdais
FMUSER Físeán Tarchur Wirless Agus Fuaim Níos Éasca!
Déan teagmháil
seoladh:
Uimh. 305 Seomra Foirgneamh HuiLan Uimh.273 Bóthar Huanpu Guangzhou An tSín 510620
Catagóirí
Nuachtlitir