Android 需要BroadcastReceiver的成员声明
我正在尝试创建一个广播接收器。如果没有onDestroy,应用程序将运行。由于此广播是以编程方式创建的,因此我需要在不使用onDestroy时使用它。我需要如何处理unregisterReceiver()Android 需要BroadcastReceiver的成员声明,android,kotlin,Android,Kotlin,我正在尝试创建一个广播接收器。如果没有onDestroy,应用程序将运行。由于此广播是以编程方式创建的,因此我需要在不使用onDestroy时使用它。我需要如何处理unregisterReceiver() 谢谢 class MainActivity : AppCompatActivity() { var receiver: BroadcastReceiver? = null override fun onCreate(savedInstanceState: Bundle?) { su
谢谢
class MainActivity : AppCompatActivity() {
var receiver: BroadcastReceiver? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
btnSetUp.setOnClickListener {
SetUpBroadcastReceiver()
}
}
private fun SetUpBroadcastReceiver() {
val filter = IntentFilter()
filter.addAction("android.intent.action.PHONE_STATE")
receiver = CallReceiver()
registerReceiver(receiver,filter)
}
override fun onDestroy() {
super.onDestroy()
if (receiver != null) unregisterReceiver(receiver)
}
}像这样在清单文件中注册广播
<receiver android:name=".CallReceiver">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
尝试了您的方法,但无效。我正在使用动态创建广播接收器。我没有使用这种方法在清单中插入意图过滤器。