2012-02-23 47 views
3

我有一个分布到一系列应用程序中的应用程序。我想向用户提供一种清除其用户数据的方法。要做到这一点,我希望每个应用程序清除它的用户数据。我有这部分工作正常。有没有编程式重新启动Android应用程序的方式

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

+1

为什么你不能只是'finish()'和'startActivity()'' – Fixpoint 2012-02-23 16:38:25

回答

3

This Jan Jonas的博客文章提供了关于如何以编程方式重新启动应用程序的很好的说明。

的方法是创建一个重新开始的意图,并将其添加到报警经理,有时间偏移(所以它不会立即发生。

AlarmManager mgr = (AlarmManager)ACTIVITY.getSystemService(Context.ALARM_SERVICE); 
mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 1000, RESTART_INTENT); 
2
Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName()); 
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(i); 
+0

idk为什么这个对我来说永远不会工作:(。我删除了应用程序的数据,然后调用它,但是恢复不生效。并自己杀了应用程序。 – user1509803 2014-01-14 01:59:09

相关问题