Android:如何通过startActivity()将Intent传递给正在运行的Activity?

zer*_*lus 3 android

MyServiceMyClient都在运行,虽然MyClient目前在后台.如果通过以下方式MyService发送意图MyClient:

Intent i = new Intent(MYService.this, MyClient.class);
i.setAction("com.test.MyService.ACTION_SERVICE");
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
Run Code Online (Sandbox Code Playgroud)

如何在MyClient中获取此Intent?运行此代码会触发onResume()MyClient,但由于它已经在运行,因此调用getIntent()将返回最初创建MyClient的Intent,它始终是android.intent.action.MAIN

Fal*_*rri 7

覆盖onNewIntent()并确保标记intent,以便它不会启动活动的新实例