我有一个分发到一系列应用程序的应用程序。我想为用户提供一种清除用户数据的方法。要做到这一点,我希望每个应用程序清除它的用户数据。我有这个部分正常工作。
我的问题是,一旦我清除了用户数据,是否有办法重新启动应用程序,以便恢复的设置生效?
答案 0 :(得分:3)
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);