2015-12-03 120 views
2

我需要以编程方式重新启动应用程序。我的启动器活动被称为'登录',登录后,主要活动被称为'主要'。从主要活动内我想重新启动应用程序。所以我有以下几点:以编程方式重新启动应用程序?

Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName()); 
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(i); 

这将显示“登录”活动,但是当我按回我回到以前的活动。

有没有更好的方法来真正重新启动应用程序?

+0

看到这个问题http://stackoverflow.com/questions/6609414/howto-programatically-restart-android-app –

回答

3

试试下面的代码

Intent i = getBaseContext().getPackageManager(). 
      getLaunchIntentForPackage(getBaseContext().getPackageName()); 
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(i); 

还有一件事叫你的第二个活动呼叫前

finish(); 
0

试试这个

呼叫完成()

Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName()); 
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(i); 
finish(); 
相关问题