본문 바로가기

Dead Code/DEPRECATED-KOTLIN

[코틀린코드연습장] BroadCastReceiver




앱이 두개가 있다. 

1번앱에 브로드캐스트 리시버가 있고,

2번앱에서 1번앱의 브로드캐스트 리시버를 인텐트로 불러서 사용한다. 



[1번앱 메인]

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

button.setOnClickListener {
var intent = Intent(this, TestReceiver::class.java)
sendBroadcast(intent)
}
}
}


[1번앱 브로드캐스트리시버 클래스]


class TestReceiver : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
var data1 = intent?.getIntExtra("data1", 0)
var data2 = intent?.getDoubleExtra("data2", 0.0)
var str = "data1 : ${data1} \ndata2: ${data2}"
var t1 = Toast.makeText(context, str, Toast.LENGTH_SHORT)
t1.show()
}
}



[1번앱 메니페스트]

<receiver
android:name=".TestReceiver"
android:enabled="true"
android:exported="true">
</receiver>


[2번앱 메인]


class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

button.setOnClickListener {
var intent = Intent()
intent.setClassName("com.tistory.sunnybong.brapp1","com.tistory.sunnybong.brapp1.TestReceiver")
intent.putExtra("data1", 1000)
intent.putExtra("data2", 22.22)
sendBroadcast(intent)
}
}
}






++++++++++++++++++++++++++

해당내용에 대한 강좌는

https://www.udemy.com/softcampus-kotlinandroid/learn/v4/overview