我找到了一些以编程方式退出Android应用程序的代码。通过在onDestroy()中使用以下任何代码,它会完全退出应用程序吗?

System.runFinalizersOnExit(真正的) (或) android.os.Process.killProcess (android.os.Process.myPid ());

我不想在点击退出按钮后在后台运行我的应用程序。 请告知我是否可以使用这些代码中的任何一个来退出我的应用程序?如果可以,我可以使用哪个代码?在Android中退出应用程序是一个好方法吗?


当前回答

如果你在Activity中,最好使用finish(),如果你在Fragment中,最好使用getActivity().finish()。

如果你想完全退出应用程序,那么使用:

getActivity().finish();
System.exit(0);

其他回答

朋友只需添加此函数以编程方式退出应用程序 # java

public void onBackPressed() 
{

    finishAffinity();
    System.exit(0);
}

要退出应用程序,您可以使用以下命令:

getActivity().finish();
Process.killProcess(Process.myPid());
System.exit(1);

也可以调用下面的方法来停止服务:

private void stopServices() {        
    final ActivityManager activityManager = SystemServices.getActivityManager(context);
    final List<ActivityManager.RunningServiceInfo> runningServices = activityManager.getRunningServices(Integer.MAX_VALUE);
    final int pid = Process.myPid();
    for (ActivityManager.RunningServiceInfo serviceInfo : runningServices) {
        if (serviceInfo.pid == pid && !SenderService.class.getName().equals(serviceInfo.service.getClassName())) {
            try {
                final Intent intent = new Intent();
                intent.setComponent(serviceInfo.service);
                context.stopService(intent);
            } catch (SecurityException e) { 
                 // handle exception
            }
        }
    }
}

放弃一份申请是不受欢迎的吗?通过这个链接。它回答了你的问题。系统负责终止应用程序的工作。

假设你有两个活动A和B,你从A导航到B,当你点击返回按钮,你的活动B从背堆栈弹出并销毁。后堆栈活动A中的前一个活动集中。

您应该让系统决定何时终止应用程序。

公共无效处理()

当您的活动完成并应该关闭时调用它。

假设你有很多活动。你可以使用动作条。点击主页图标导航到应用程序的MainActivity。在MainActivity中单击返回按钮退出应用程序。

android中没有退出应用程序, SampleActivity.this.finish ();将完成当前活动。

当你从一个活动切换到另一个活动时,要坚持完成前一个活动

Intent homeintent = new Intent(SampleActivity.this,SecondActivity.class);
startActivity(homeintent);
SampleActivity.this.finish();

我们希望代码健壮而简单。 该解决方案适用于旧设备和新设备。

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
        getActivity().finishAffinity();
    } else{
        getActivity().finish();
        System.exit( 0 );
    }