单击按钮时,我需要关闭活动。不幸的是,当单击按钮时,活动确实消失了,但仍在后台。用户仍然可以选择它并返回到前面。我需要的是完全消失/破坏的活动。
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
}
}
Run Code Online (Sandbox Code Playgroud)
我在相关问题上搜索了 SO,但是,它们都没有帮助完全关闭活动。我已经尝试添加返回,添加另一个广播侦听器并传递命令以在 onCreate 之外调用完成。所以在这一点上,问题是 - 这真的可能还是 Android 是这样工作的,您可以调用 finish() 但它仍然在后台,用户可以重新启动它。
这是xml文件。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.app1.test.myapplication">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
编辑:添加 android:excludeFromRecents="true" 并不能解决问题。以下是重新创建此问题的步骤,如果有人认为它是重复的或已解决,请尝试发表评论/答案,我会接受。 …
android android-layout activity-lifecycle activity-finish android-activity