Notice
Recent Posts
Recent Comments
Link
투케이2K
400. (kotlin/코틀린) BroadcastReceiver 브로드 캐스트 이벤트 알림 전달 및 receive 알림 수신 코드 정리 본문
Kotlin
400. (kotlin/코틀린) BroadcastReceiver 브로드 캐스트 이벤트 알림 전달 및 receive 알림 수신 코드 정리
투케이2K 2023. 8. 24. 20:15[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Kotlin
[소스 코드]
// ------------------------------------------------------------------------------------------
// [브로드 캐스트 이벤트 알림 전달]
// ------------------------------------------------------------------------------------------
fun CALL_BROAD_CAST_SEND(mContext: Context) {
// ===============================================================
S_Log._D_("브로드캐스팅 이벤트 알림 전달", null)
// ===============================================================
// [로직 처리 실시]
try {
val intent = Intent(S_FinalData.BROAD_CAST_SEND) // [채널 명칭 지정]
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent) // [브로드 캐스트 알림 전달]
}
catch (e: Exception) {
e.printStackTrace()
}
}
// ------------------------------------------------------------------------------------------
// [브로드 캐스트 채널 등록]
// ------------------------------------------------------------------------------------------
val filter = IntentFilter() // [인텐트 필터 선언]
filter.addAction(S_FinalData.BROAD_CAST_SEND) // [구독할 채널]
LocalBroadcastManager.getInstance(MainActivity@this).registerReceiver(mMessageReceiver, filter) // [알림을 받는 리시버 지정]
// ------------------------------------------------------------------------------------------
// TODO [브로드캐스트 알림 수신]
// ------------------------------------------------------------------------------------------
private var mMessageReceiver: BroadcastReceiver = object : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
S_Log.w("//===========//","================================================")
S_Log.i("","\n"+"["+ACTIVITY_NAME+" >> onReceive() :: 실시간 브로드 캐스트 알림 전달 받음]")
S_Log.w("//===========//","================================================")
// ------------------------------------------
// [BROAD_CAST_CHANNER : 특정 채널 알림 수신 로직 처리]
// ------------------------------------------
if (S_FinalData.BROAD_CAST_SEND.equals(intent.action.toString())) {
}
}
}
// -----------------------------------------------------------------------------------------
// TODO [액티비티 onDestroy]
// -----------------------------------------------------------------------------------------
override fun onDestroy() {
super.onDestroy()
// ===============================================================
S_Log._E_("액티비티 종료 상태", null)
// ===============================================================
// -----------------------------------------
// [SEARCH FAST] : [BroadCast] : 브로드캐스트 채널 해제
// -----------------------------------------
try {
LocalBroadcastManager.getInstance(MainActivity@this).unregisterReceiver(mMessageReceiver)
} catch (e: Exception) {
e.printStackTrace()
}
}
반응형
'Kotlin' 카테고리의 다른 글
Comments