매일 자정에 특정 코드를 실행하고 싶어서 내용을 검색하다가 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 |