2015-09-10 35 views
-3

我需要一个关于我对android开发思想的小小指导。 是否可以在我的代码的特定位置重新启动我的应用程序? 我还需要重用我的应用程序派生的一些值? 我正在看报警管理器和sharedpreferences ... 我在正确的方式,实现呢?自动重新启动你的应用程序

BR

+0

'Intent'你的包你的活动[链接](http://stackoverflow.com/questions/2741857/launch-activities-from-different-package) – Mohit

回答

0

是的,你是在正确的轨道,你可以重新启动你想要的任何一点你的Android应用程序和存储数据无论是在Sharedprefernces如果数据量小,但如果大量数据,使用SQLite,而不是。

AlarmManager将帮助你在你的日程安排任务的将来像重新启动应用程序在特定时间等

代码要从哪里开始重新启动应用程序

Intent intent = getBaseContext().getPackageManager() 
     .getLaunchIntentForPackage(getBaseContext().getPackageName()); 
intent .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent); 
-1
Intent   restartIntent = getContext().getPackageManager().getLaunchIntentForPackage(getContext().getPackageName()); 
PendingIntent pendingIntent = PendingIntent.getActivity(getContext(), 0, restartIntent, Intent.FLAG_ACTIVITY_CLEAR_TOP); 
AlarmManager alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE); 
alarmManager.set(AlarmManager.RTC, System.currentTimeMillis() + APPLICATION_RESTART_TIMEOUT, pendingIntent); 
+0

这段代码做了什么?请您详细说明.. – Lal

+0

此代码在APPLICATION_RESTART_TIMEOUT之后启动应用程序。您应该在APPLICATION_RESTART_TIMEOUT过期之前关闭您的应用 –