BroadActivity
class BroadActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_broad)
button14.setOnClickListener {
//定义,发送广播
val intent = Intent("com.android.server.scannerservice.broadcast")
intent.putExtra("broadkey", editText.text.toString())
sendBroadcast(intent)
}
}
//实例化receiver要在方法里,所以这里用by lazy
private val mScanDataReceiver: BroadcastReceiver by lazy { MyReceiver(textView3) }
override fun onResume() {
val scanDataIntentFilter = IntentFilter()
scanDataIntentFilter.addAction("com.android.server.scannerservice.broadcast")
registerReceiver(mScanDataReceiver, scanDataIntentFilter)
super.onResume()
}
override fun onPause() {
unregisterReceiver(mScanDataReceiver)
super.onPause()
}
}
MyReceiver
class MyReceiver(private val textView3: TextView) : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
val action = intent.action
if (action == "com.android.server.scannerservice.broadcast") {
val scanCode = intent.getStringExtra("broadkey")
textView3.text = scanCode
}
}
}
AndroidManifest.xml
<receiver
android:name=".receiver.MyReceiver"
android:enabled="true"
android:exported="true"></receiver>