FMUSER Wirless Transmèt videyo ak odyo pi fasil!
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
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
lòt pwodwi nou an:
Pwofesyonèl pakè ekipman estasyon radyo FM
|
||
|
Antre nan imèl yo ka resevwa yon sipriz
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
Kategori
Bilten nouvèl nou