Android 需要BroadcastReceiver的成员声明

Android 需要BroadcastReceiver的成员声明,android,kotlin,Android,Kotlin,我正在尝试创建一个广播接收器。如果没有onDestroy,应用程序将运行。由于此广播是以编程方式创建的,因此我需要在不使用onDestroy时使用它。我需要如何处理unregisterReceiver() 谢谢 class MainActivity : AppCompatActivity() { var receiver: BroadcastReceiver? = null override fun onCreate(savedInstanceState: Bundle?) { su

我正在尝试创建一个广播接收器。如果没有onDestroy,应用程序将运行。由于此广播是以编程方式创建的,因此我需要在不使用onDestroy时使用它。我需要如何处理unregisterReceiver()

谢谢

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>

尝试了您的方法,但无效。我正在使用动态创建广播接收器。我没有使用这种方法在清单中插入意图过滤器。