투케이2K

84. (TWOK/ALGORITHM) [Kotlin] 문법 - [BroadCast] 브로드 캐스트 알림 전달 , 수신 및 채널 등록 본문

투케이2K 알고리즘

84. (TWOK/ALGORITHM) [Kotlin] 문법 - [BroadCast] 브로드 캐스트 알림 전달 , 수신 및 채널 등록

투케이2K 2023. 1. 22. 12:03

[환경 설정 및 설명]

언 어 : Kotlin

설 명 : 문법 - [BroadCast] 브로드 캐스트 알림 전달 , 수신 및 채널 등록

 

[소스 코드]

 

        // -----------------------------------------
        // [SEARCH FAST] : [BroadCast] : 브로드캐스트 알림 전송
        // -----------------------------------------
        try {
            val intent = Intent("BROAD_CAST_CHANNER") // [채널 명칭 지정]
            intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
            LocalBroadcastManager.getInstance(A_Intro@this).sendBroadcast(intent) // [브로드 캐스트 알림 전달]
        } catch (e: Exception) {
            e.printStackTrace()
        }





        // -----------------------------------------
        // [SEARCH FAST] : [BroadCast] : 브로드캐스트 채널 등록
        // -----------------------------------------
        try {
            val filter = IntentFilter() // [인텐트 필터 선언]
            filter.addAction("BROAD_CAST_CHANNER") // [구독할 채널]
            LocalBroadcastManager.getInstance(A_Intro@this).registerReceiver(mMessageReceiver, filter) // [알림을 받는 리시버 지정]
        } catch (e: Exception) {
            e.printStackTrace()
        }





    // -----------------------------------------
    // [SEARCH FAST] : [BroadCast] : 브로드캐스트 알림 수신
    // -----------------------------------------
    private var mMessageReceiver: BroadcastReceiver = object : BroadcastReceiver() {
        override fun onReceive(context: Context, intent: Intent) {
            Log.i("---","---")
            Log.w("//===========//","================================================")
            Log.i("","\n"+"["+ACTIVITY_NAME+" >> onReceive() :: 실시간 브로드 캐스트 알림 전달 받음]")
            Log.i("","\n"+"[채 널 :: "+intent.action.toString()+"]")
            Log.w("//===========//","================================================")
            Log.i("---","---")

            // ------------------------------------------
            // [BROAD_CAST_CHANNER : 특정 채널 알림 수신 로직 처리]
            if ("BROAD_CAST_CHANNER".equals(intent.action.toString())) {
                
            }
            // ------------------------------------------
        }
    }





    // -----------------------------------------------------------------------------------------
    // TODO [액티비티 onDestroy]
    // -----------------------------------------------------------------------------------------
    override fun onDestroy() {
        super.onDestroy()
        Log.i("---","---")
        Log.e("//===========//","================================================")
        Log.i("","\n"+"[" + ACTIVITY_NAME + " >> onDestroy() :: 액티비티 종료 실시]")
        Log.e("//===========//","================================================")
        Log.i("---","---")

        // -----------------------------------------
        // [SEARCH FAST] : [BroadCast] : 브로드캐스트 채널 해제
        // -----------------------------------------
        try {
            LocalBroadcastManager.getInstance(A_Intro@this).unregisterReceiver(mMessageReceiver)
        } catch (e: Exception) {
            e.printStackTrace()
        }
    }

 

반응형
Comments