我正在尝试使用 kotlin 完成另一个(android)的活动。我知道用java来做这件事的方法是使用以下代码(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 输出(第一个活动)[OK]:
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 输出(第二个活动)[OK]
val intent = Intent("finish_activity")
sendBroadcast(intent)
ERROR: https://i.stack.imgur.com/OJvSY.png
修复:显示的代码是正确的,您只需将其放置在 onCreate 函数中