Android Component 중 하나인 Broadcast Receiver에 관한 예제입니다.
브로드캐스트 리시버를 통해 시스템 시각이 1분마다 Toast 메세지를 띄우는 예제입니다.
1. Broadcast Receiver 생성
package com.eshc.androidcomponentexample.broadcastreceiver
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
class TimeCheckBroadcastReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
// This method is called when the BroadcastReceiver is receiving an Intent broadcast.
TODO("MyReceiver.onReceive() is not implemented")
}
}
BroadcastReceiver를 생성하면 위와 같이 만들어진다.
2. onReceive() 구현
package com.eshc.androidcomponentexample.broadcastreceiver
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.widget.Toast
class TimeCheckBroadcastReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
Toast.makeText(context,"Time Check",Toast.LENGTH_SHORT).show()
}
}
브로드캐스트를 receive할 때 실행할 코드를 작성한다.
간단하게 Toast 메시지를 띄운다.
3. Broadcast Receiver 등록
class MainActivity : AppCompatActivity() {
...
override fun onCreate(savedInstanceState: Bundle?) {
...
setBroadcastReceiver()
}
private fun setBroadcastReceiver(){
val intent = IntentFilter(Intent.ACTION_TIME_TICK)
val receiver = TimeCheckBroadcastReceiver()
registerReceiver(receiver,intent)
}
}
브로드캐스트 리시버를 등록할 컴포넌트에 리시버를 등록한다.
MainActivity에 registerReceiver를 통해 등록하는데
이 때 IntentFilter를 사용하는데 ACTION_TIME_TICK로 분이 바뀔 때 브로드캐스트하도록 한다.
[참고]
https://developer.android.com/guide/components/broadcasts?hl=ko
'Android > 공부노트' 카테고리의 다른 글
[Android] UI Layer (0) | 2022.09.16 |
---|---|
[안기단] 4. Content Provider (0) | 2022.05.31 |
[안드로이드] 서비스 - 최근 앱 목록에서 앱을 닫는다면? (0) | 2022.05.19 |
[안드로이드] 서비스 예제1 - start service (0) | 2022.05.18 |
[안기단] 3. Broadcast Receiver (0) | 2022.05.17 |
댓글