私は自分のアプリ内でローカルメッセージを送信する方法を探していて、XamarinのウェブサイトBroadcast Receivers hereから、LocalBroadcastManagerに関するWebページの一番下にあるチュートリアルを見つけました。私はチュートリアルに従い、ページを数回読んだが、私のBroadcastReceiverクラスはまだメッセージを送信しても何も受信していない。私はLocalBroadcastManagerに関する多くの質問をjavaに打ちましたが、C#には何が欠けているのか分からないようです。 OnPause()内Xamarin Android LocalBroadcastManagerの使い方
_dirtyMessageReceiver = new DirtyBroadcastReceiver();
RegisterReceiver(_dirtyMessageReceiver, new IntentFilter("dirty"));
登録解除受信機::私は私のOnResume()内の受信機を登録するよどこ
ここIntent intent = new Intent("dirty");
intent.PutExtra("dirtyAppCount", dirtyAppCount);
LocalBroadcastManager.GetInstance(Context).SendBroadcast(intent);
だ:
この
は、送信されたメッセージをトリガのコードですUnregisterReceiver(_dirtyMessageReceiver);
ここにレシーバクラスがあります。
[BroadcastReceiver(Enabled = true, Exported = false)]
public class DirtyBroadcastReceiver : BroadcastReceiver
{
public override void OnReceive(Context context, Intent intent)
{
int dirtyAppCount = intent.GetIntExtra("dirtyAppCount", 0);
OnMessageReceived?.Invoke(this, new MessageArgs(dirtyAppCount));
}
}
私はそれが何か簡単だと分かっていました。/私は、放送受信機の登録/登録解除がすべてを捕まえると仮定しました。ないと思います。ありがとう! –