gpt4 book ai didi

android - 单击按钮使用完成关闭 android Activity (完全,甚至不在后台)

转载 作者:搜寻专家 更新时间:2023-11-01 07:44:41 24 4
gpt4 key购买 nike

我需要在单击按钮时关闭 Activity 。不幸的是,单击按钮时, Activity 确实消失了,但仍在后台。用户仍然可以选择它,它会回到前面。我需要的是完全消失/销毁的 Activity 。

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();
}
}

我在 SO 上搜索了相关问题,但是,它们都没有帮助完全关闭 Activity 。我已经尝试添加返回,添加另一个广播监听器并传递命令以在 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>

编辑:添加 android:excludeFromRecents="true"不能解决问题。以下是重新创建它的步骤,如果有人认为它重复或已经解决,请尝试发表评论/回答,我会接受。

  1. 打开 Android Studio
  2. 创建空 Activity 项目。
  3. 添加一个按钮。
  4. 在 MainActivity 的 onCreate 中为按钮点击监听器添加代码。
  5. 内部点击监听器,调用完成。
  6. 运行应用并点击按钮,查看 Activity 是否仍在后台运行。

最佳答案

试试吧。在你身上体现。

    <activity
android:excludeFromRecents="true"
android:name=".Activities.SplashActivity"
android:theme="@style/AppThemeSubActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

现在在您的 java 代码中。

     @Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.item_search:
// Intent intent = new Intent(MainActivity.this, SearchActivity.class);
// startActivity(intent);
finish();
System.exit(0);}
}

将额外的行 System.exit(0);调用完成后它对我有用。

关于android - 单击按钮使用完成关闭 android Activity (完全,甚至不在后台),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47229650/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com