본문 바로가기

컴퓨터/안드로이드

Android BroadcastReceiver(kotlin)

매일 자정에 특정 코드를 실행하고 싶어서 내용을 검색하다가 BroadcastReceiver를 찾게 되었다.

BroadcastReceiver는 안드로이드 시스템에 Broadcast한 이벤트를 받아서 실행되는 코드를 가지는 클래스이다.
먼저, AndroidManifest.xml에 등록해야 한다.

<manifest>
  ...
    <application>
      <receiver android:name=".MyBroadcastReceiver">
        <intent-filter>
          <action android:name="net.onyah.BroadCastReceiverTest.testaction" />
        </intent-filter>
      </receiver>
    </application>
  ...
</manifest>

다음으로, BroadcastReceiver를 상속한 클래스를 만든다.


class MyBroadcastReceiver : BroadcastReceiver(){
    override fun onReceive(context: Context?, intent: Intent?) {
        val actionName = intent!!.action
        Toast.makeText(context, "받은 액션 : $actionName", Toast.LENGTH_SHORT).show()
        saveTestValues()
    }
}

받는 쪽은 완성했고, 이제 보내는 위치를 설정해야 한다.
보내는 방법은 간단하다.

sendBroadcast(Intent("net.onyah.BroadCastReceiverTest.testaction"))

버튼 혹은 onCreate에 위 코드를 넣으면 MyBroadcastReceiver에 등록한 Toast가 보이는 것을 확인할 수 있다.

'컴퓨터 > 안드로이드' 카테고리의 다른 글

TWRP 빌드  (0) 2023.11.07
UsageStatsManager, android.app.usage  (0) 2020.03.02
M-TAB 파티션  (0) 2020.02.06