像这样你可以区分新的安装和更新。
String StoredVersionname = "";
String VersionName;
AlertDialog LoginDialog;
AlertDialog UpdateDialog;
AlertDialog FirstRunDialog;
SharedPreferences prefs;
public static String getVersionName(Context context, Class cls) {
try {
ComponentName comp = new ComponentName(context, cls);
PackageInfo pinfo = context.getPackageManager().getPackageInfo(
comp.getPackageName(), 0);
return "Version: " + pinfo.versionName;
} catch (android.content.pm.PackageManager.NameNotFoundException e) {
return null;
}
}
public void CheckFirstRun() {
VersionName = MyActivity.getVersionName(this, MyActivity.class);
prefs = PreferenceManager.getDefaultSharedPreferences(this);
StoredVersionname = (prefs.getString("versionname", null));
if (StoredVersionname == null || StoredVersionname.length() == 0){
FirstRunDialog = new FirstRunDialog(this);
FirstRunDialog.show();
}else if (StoredVersionname != VersionName) {
UpdateDialog = new UpdateDialog(this);
UpdateDialog.show();
}
prefs.edit().putString("versionname", VersionName).commit();
}
SharedPreferences可以存储一个布尔型'bFirstRun',告诉你这是否是第一次运行。 – 2013-02-08 16:50:39
但最后存储的sharedprefences仍然在updation.Means如何配置应用程序更新更新? – User42590 2013-02-08 16:57:15
不确定你的意思,但是如果没有名为'bFirstRun'的SharedPreference ...那么你是第一次运行。然后将其设置为false(并提交更改)。下一次通过,它在那里和假所以转到'alwaysRunActivity' – 2013-02-08 17:00:18