LocalBroadcastManager nasıl kullanılır?
herhangi bir/google docs Service broadcast doc açıklandığı gibi LocalBroadcastManager bulun nasıl kullanılacağını söyleyebilir mi?
bunu Google'da araştırdım, ama hiçbir kod ile başlamak için kullanılabilir var mı?
bu belgeler ise DAHİLİ olarak benim uygulama süreci ile yayın yapmak istiyorsam onu kullanmak gerektiğini söylüyorlar ama ben bunun için nereye bakmam gerektiğini biliyorum
yorum/herhangi bir yardım?
Güncelleme: Yayınlar kullanmayı biliyorum ama LocalBroadcastManager projem mevcut almak için nasıl bilmiyorum.
CEVAP
Bu yine de cevap vereceğim. Birinin ihtiyacı olursa diye.
ReceiverActivity.java
Olay bildirimleri için saatler bir aktivite "custom-event-name"
adında.
@Override
public void onCreate(Bundle savedInstanceState) {
...
// Register to receive messages.
// We are registering an observer (mMessageReceiver) to receive Intents
// with actions named "custom-event-name".
LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver,
new IntentFilter("custom-event-name"));
}
// Our handler for received Intents. This will be called whenever an Intent
// with an action named "custom-event-name" is broadcasted.
private BroadcastReceiver mMessageReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// Get extra data included in the Intent
String message = intent.getStringExtra("message");
Log.d("receiver", "Got message: " message);
}
};
@Override
protected void onDestroy() {
// Unregister since the activity is about to be closed.
LocalBroadcastManager.getInstance(this).unregisterReceiver(mMessageReceiver);
super.onDestroy();
}
SenderActivity.java
/Yayınları gönderdiği ikinci etkinlik bildirimleri.
@Override
public void onCreate(Bundle savedInstanceState) {
...
// Every time a button is clicked, we want to broadcast a notification.
findViewById(R.id.button_send).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
sendMessage();
}
});
}
// Send an Intent with an action named "custom-event-name". The Intent sent should
// be received by the ReceiverActivity.
private void sendMessage() {
Log.d("sender", "Broadcasting message");
Intent intent = new Intent("custom-event-name");
// You can also include some extra data.
intent.putExtra("message", "This is my message!");
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
}
Her zaman düğmesi R.id.button_send
tıklandığında yukarıdaki kod ile, bir Niyet yayınlanır ve ReceiverActivity
mMessageReceiver
tarafından alındı.
Hata ayıklama çıkışı, bu gibi görünmelidir:
01-16 10:35:42.413: D/sender(356): Broadcasting message
01-16 10:35:42.421: D/receiver(356): Got message: This is my message!
Vim kayıtları nasıl kullanılır?...
Nasıl yansıması genel bir Yöntemi çağı...
Geçişlerini için Dinlenmek nedir ve na...
Nasıl ve kabuk boolean değişkenleri bi...
Raylar 4: nasıl kullanılır(belge)$.() ...