我需要在点击按钮时关闭活动。不幸的是,当点击按钮时,活动确实消失了,但仍然在后台。用户仍然可以选择它,它会返回到前面。我需要的是活动完全消失/被摧毁。
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();
}
}
我搜索了相关问题等,然而,这些问题都不能帮助完全结束活动。我已经尝试添加Return、添加另一个广播侦听器并传递命令以在onCreate外部调用Finish。因此,在这一点上,问题是-这是否真的可能,或者这是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>
编辑:添加android:excludeFromRecents=“true”并不能解决问题。以下是重新创建它的步骤,如果有人认为它是重复的或已经解决的,请尝试并发布评论/答案,我将接受它。
1.打开Android Studio
1.创建空活动项目。
1.添加按钮。
1.在MainActivity的onCreate for按钮点击Listener中添加代码。
1.在内部点击Listener,调用Finish。
1.运行APP并点击按钮,查看活动是否仍在后台。
4条答案
按热度按时间e7arh2l61#
就试一试吧。在你身上显化。
现在在您的Java代码中。
在调用Finish之后放入额外的System.exit(0)行;它对我来说是有效的。
f5emj3cl2#
您需要将以下代码放入您的XML清单中:
android:excludeFromRecents="true"
在你的活动标签上。
x4shl7ld3#
你可以试试这个
Android:excludeFromRecents=“true”,在您的清单中使用它。
9w11ddsr4#
请试着把这个放回去
和这个终止应用程序进程的代码