Androidプラットフォームで発生する特定のイベントやシステム通知に対応するためのコンポーネントです。BroadcastReceiverはアプリケーションがバックグラウンドで実行されている場合でも、イベントを受信して対応する処理を行うことができます。
クラスを作成
Copy code
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.widget.Toast
class MyReceiver : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
// 受信したブロードキャストに対する処理をここに記述
if (intent?.action == "custom.action.MY_ACTION") {
val message = intent.getStringExtra("message")
Toast.makeText(context, "Received broadcast: $message", Toast.LENGTH_SHORT).show()
}
}
}
マニフェストに登録
<receiver android:name=".MyReceiver">
<intent-filter>
//ブロードキャストメッセージのアクションを一意に識別するための文字列
<action android:name="custom.action.MY_ACTION" />
</intent-filter>
</receiver>
アクションを飛ばす
//ブロードキャストメッセージのアクションを一意に識別するための文字列
val intent = Intent("custom.action.MY_ACTION")
//KeyとValueを
intent.putExtra("message", "Hello from sender!")
// ブロードキャストを発信
sendBroadcast(intent)