finish() 完成 activity 但它仍在后台

finish() finish the activity but it is still on background

我对 android 工作室中 activity 的 finish() 方法有疑问:

我有这个简单的代码:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });
    }
}

在我的 activity_main 中,我只有一个按钮。当我单击按钮时 activity 完成并返回设备的主屏幕...但是,当我单击设备的菜单按钮时(显示所有应用程序 运行在背景中)我仍然看到我的 activity... 我不想要那个。我该如何解决?

尝试使用

android:excludeFromRecents="true" 在你的 ActivityAndroidManifest.xml.

<activity
            ...
             android:excludeFromRecents="true">
</activity>

如果activity在后台有一个线程运行从网络下载数据,它可能会在onCreate()中创建那个线程,然后在[=中停止这里的线程11=] 如果你没有新线程你可以在 finish(); 之后写 return;