Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我的android应用程序未在onclick关闭_Android_Kill Process - Fatal编程技术网

我的android应用程序未在onclick关闭

我的android应用程序未在onclick关闭,android,kill-process,Android,Kill Process,我需要关闭我的应用程序,同时点击退出按钮,已经尝试了许多解决方案,从谷歌像抽象类,完成,杀死进程等,但它从来没有给出任何解决方案 `屏幕1-->屏幕2-->屏幕3-->屏幕1-->屏幕2-->屏幕1-->需要关闭应用程序没有直接的方法可以做到这一点,我是这样做的,希望这对您有所帮助 试试这个它对我很好 // clear whole activity stack Intent intent = new Intent("clearStackActivity"); intent.se

我需要关闭我的应用程序,同时点击退出按钮,已经尝试了许多解决方案,从谷歌像抽象类,完成,杀死进程等,但它从来没有给出任何解决方案


`屏幕1-->屏幕2-->屏幕3-->屏幕1-->屏幕2-->屏幕1-->需要关闭应用程序

没有直接的方法可以做到这一点,我是这样做的,希望这对您有所帮助

试试这个它对我很好

// clear whole activity stack

    Intent intent = new Intent("clearStackActivity");
    intent.setType("text/plain");
    sendBroadcast(intent);

// start your new activity
Intent intent = new Intent(OrderComplete.this,
                    MainActivity.class);
startActivity(intent);
步骤:1

将这些行放在所有活动的onCreate()方法中,或者如果您有任何基本活动,您可以将其放在那里,那么不需要放在所有活动中

private KillReceiver clearActivityStack;
clearActivityStack = new KillReceiver();
        registerReceiver(clearActivityStack, IntentFilter.create("clearStackActivity", "text/plain"));
步骤:2

把这门课放在你的基本活动中

private final class KillReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            finish();
        }
    }
说明:

在上面的代码中,我们创建了自定义广播接收器。我们在基本活动中注册它,也就是在调用的所有活动中


当我们想要完成所有活动时,我们只是广播意图,所以所有注册此接收器的活动都将通知并自行完成

如果您在进入下一个活动时正在销毁以前的活动,则

在上一个活动中,将关闭您的整个应用程序

否则

试试这个代码

startActivity(new Intent (this,Act_finish.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK));
演完
你真的需要屏幕1和屏幕2的新实例吗

我建议您何时从屏幕2或屏幕3导航到屏幕1 您启动活动的目的是为了标志活动\u标志\u清除\u顶部


这将从堆栈中删除所有活动,并导航到需要关闭所有活动的屏幕1

?是的,我需要关闭我的应用程序,而不是作为我的问题系统转到屏幕2。退出(0)你想退出的位置当你进入下一个屏幕时,你是否正在销毁上一个屏幕?我的意思是,使用finish(),则只有最后一个活动中的system.exit(0)将关闭整个应用程序。实际上,堆栈必须是必需的,直到它转到screen1,如果运行Intent Intent=new Intent(orderplete.this,MainActivity.class),会发生什么情况;星触觉(意向);它会创建一个新的空白活动吗
startActivity(new Intent (this,Act_finish.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK));
public class Act_finish extends Activity
 {

  @Override
  protected void onCreate(Bundle savedInstanceState) 
  {
    super.onCreate(savedInstanceState);
    System.exit(0);
  }

}