用Kotlin完成另一个Android的活动

我试图用kotlin完成另一个(android)的活动。 我知道用java做的wat是用下面的代码( https://stackoverflow.com/a/10379275/7280257 )

第一次活动:

BroadcastReceiver broadcast_reciever = new BroadcastReceiver() { @Override public void onReceive(Context arg0, Intent intent) { String action = intent.getAction(); if (action.equals("finish_activity")) { finish(); // DO WHATEVER YOU WANT. } } }; registerReceiver(broadcast_reciever, new IntentFilter("finish_activity")); 

在其他活动上:

 Intent intent = new Intent("finish_activity"); sendBroadcast(intent); 

出于某种原因,将java活动转换为kotlin不会提供有效的输出,如果有人可以给我正确的语法来正确使用kotlin,我会感激

kotlin输出(第一个活动) [确定]

 val broadcast_reciever = object : BroadcastReceiver() { override fun onReceive(arg0: Context, intent: Intent) { val action = intent.action if (action == "finish_activity") { finish() // DO WHATEVER YOU WANT. } } } registerReceiver(broadcast_reciever, IntentFilter("finish_activity")) 

kotlin输出(第二个活动) [确定]

  val intent = Intent("finish_activity") sendBroadcast(intent) 

错误: http : //i.imgur.com/qaQ2YHv.png

修正:所显示的代码是正确的,你只需要把它放在onCreate函数中

Expecting member declaration是错误的,因为你在一个类中写了一个语句(函数调用)。 在这个范围内,声明(函数,内部类)是预期的。

你必须把你的语句放在函数中(然后从某个地方调用这些语句),以便执行它们。