以编程方式退出Android应用程序而不完成()

Jos*_*osh 5 java android

在你告诉我这个问题已经被问到之前,让我告诉你,这些问题都没有一个适合我的答案.我的应用程序有一个主要活动.在它运行之前,我有一个启动画面活动.如果我调用finish(),程序将返回到我的启动画面.我不想要这个.不要告诉我使用finish().我听说不让Android自己关闭应用程序是不好的做法.我知道我在做什么......可能......

我希望能够从第二个活动中完全关闭应用程序.有谁知道我可以这样做的方式?

elf*_*ekz 6

当你想关闭你的应用程序时,你可以打电话

   finishAffinity();
Run Code Online (Sandbox Code Playgroud)

或者如果你想在背景中关闭它也应该写,

机器人:excludeFromRecents = "真"

在AndroidManifest中:

   <activity
    android:name="com.smart.remote.main.SplashActivity"
    android:configChanges="orientation|keyboardHidden"
    android:screenOrientation="portrait" 
    android:excludeFromRecents="true">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)


Nic*_*oux 5

使用finish()你的启动画面创建你的第二个之前activity,则使用finish()的是第二activity:不会带回启动画面


Pau*_*sma 5

执行finish()启动活动是一种解决方案,但有两种替代方法:

  1. 启动飞溅活动android:noHistory="true"在其清单项.
  2. 使用Intent标志FLAG_ACTIVITY_CLEAR_TOP启动辅助活动.

我的偏好将是第一个,因为用户不太可能希望在历史堆栈中看到启动画面(或者根本就没有,但这是一个不同的讨论).