我正在编写App的更新。第一次启动应用程序时,会在开头显示弹出窗口。但是,如果将Update安装为更新,则会发生这种情况。
将应用程序安装为新安装的人不应该看到弹出窗口。
以前版本的App无法提交任何SharedPreferences XML。
如果您不了解情况,请索取更多详情。
答案 0 :(得分:1)
在启动器活动的onCreate()中,检查是否存在具有您选择名称的文件,例如“INSTALLED”。
更安全(多活动安全)的方法是将此测试放在应用程序的onCreate()中,并将测试结果放在应用程序的静态变量中。这样,无论通过任何意图(启动器或非启动器)启动哪个活动,您都可以从应用程序对象中检索静态字段。
答案 1 :(得分:1)
我正在做这件事,我还在其中包含了一些Google Analytics事件,因此我会跟踪升级与新安装,并且可以随着时间的推移看到它们;)
// Display Recent Changes on 1st use of new version
if (!appPrefs.getAppVer().equals(getAppVerName())) {
if (appPrefs.getAppVer().equals("")) {
tracker.trackEvent("Application", "Install", getAppVerName(), 1);
} else if (!appPrefs.getAppVer().equals("N/A")) {
tracker.trackEvent("Application", "Upgrade", appPrefs.getAppVer().toString()+"->"+getAppVerName(), 1);
}
// display recent changes dialog
tracker.trackPageView("/RecentChanges");
appPrefs.saveAppVer(getAppVerName());
appPrefs.saveAcceptedUsageAggrement(false);
}
// Display Usage Agreement on 1st use of new version
if (!appPrefs.getAcceptedUsageAggrement()) {
tracker.trackPageView("/UsageAgreement");
// display usage agreement dialog
// negative button actions here
appPrefs.saveAppVer("N/A");
// positive button actions here
appPrefs.saveAcceptedUsageAggrement(true);
}
我博客上的更多详情:http://www.aydabtudev.com/2011/03/google-analytics-tricks-for-android.html
答案 2 :(得分:0)
您可以通过系统注册广播。在更新应用程序时,系统发送意图ACTION_PACKAGE_REPLACED。
答案 3 :(得分:0)
创建一个侦听ACTION_PACKAGE_REPLACED Intent的BroadcastReceiver将完成这项工作。
您只需将其放入清单
即可<receiver android:name=".OnUpgradeReceiver">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REPLACED" />
<data android:scheme="package" android:path="your.app.package" />
</intent-filter>
</receiver>