有没有一种以编程方式重新启动Android应用程序的方法

时间:2012-02-23 16:32:34

标签: android

我有一个分发到一系列应用程序的应用程序。我想为用户提供一种清除用户数据的方法。要做到这一点,我希望每个应用程序清除它的用户数据。我有这个部分正常工作。

我的问题是,一旦我清除了用户数据,是否有办法重新启动应用程序,以便恢复的设置生效?

2 个答案:

答案 0 :(得分:3)

Jan Jonas撰写的

This博客文章对如何以编程方式重新启动应用程序提供了很好的解释。

方法是创建一个重新启动意图,并将其添加到警报管理器,并带有时间偏移(这样就不会立即发生。

AlarmManager mgr = (AlarmManager)ACTIVITY.getSystemService(Context.ALARM_SERVICE);
mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 1000, RESTART_INTENT);

答案 1 :(得分:2)

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