回答
您可以使用android.intent.action.PACKAGE_REPLACED
接收器时,您的应用程序更新检测。 根据DOC:
广播事件:一个应用程序包的新版本已经安装 ,更换现有的版本是以前安装 。数据包含软件包的名称。
AndroidMenifest.xml: 注册一个接收器与android.intent.action.PACKAGE_REPLACED
行动。
<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>
</receive>
AppUpdateReceiver.java: 创建广播接收器,当你的应用程序进行更新,将触发。检查您的版本代码并执行具体操作。
public class AppUpdateReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, final Intent intent) {
switch (BuildConfig.VERSION_CODE){
case 1:
//DO something if the version code is 1.
break;
case 2:
//DO something if the version code is 2.
break;
...
...
}
}
}
这看起来不错,但passsy建议(在我看来)更简单的解决方案。你的方式有什么优势? –
您不必检查应用程序版本,并检查每次更新的应用程序。系统会在您的应用更新时调用您的应用。 –
是的,听起来不错,谢谢! –
简单的检查,如果BuildConfig.VERSION_CODE
改变后询问用户隐私警察的一些术语。 为此,请将版本代码保存在SharedPreferences
中。 Application#onCreate()
可能是一个很好的观点。
对不起,您的解决方案是好的,简单,但Keval Patel的方式看起来更正确的。我投了你的问题,但我接受了Keval –
您可以简单地更新,并且当用户将启动应用程序下一次应该显示(显示上推出的用户策略)的代码。也许保留一个偏好值,以确保它只发生一次。
或者,你也可以阅读每个推出的最新版本的代码,并保持其存储的偏好,一旦被更新,就可以显示出政策并更新存储的值。
存放在sharedpreference的BuildConfig.VERSION_CODE
。每次用户打开应用程序时,获取版本代码并与存储的数据进行比较。
答案已经提出了这个变种,不重复它 –
- 1. 找出已提交的更新程序
- 2. 如何找出RecyclerView已完成更新?
- 3. 已更新gui应用程序
- 4. 更新已删除的应用程序
- 5. 如何找出WinForms应用程序已被鼠标点击
- 6. 如何更新已部署的应用程序?
- 7. 如何更新已发布的应用程序
- 8. 如何更新已安装的窗口应用程序(创建修补程序)
- 9. 如何更新我的应用程序/系统/应用程序
- 10. 如何从应用程序内更新应用程序?
- 11. 如何在应用程序更新后找出以前安装的应用程序版本的versionCode?
- 12. 如何自动更新应用程序
- 13. 如何更新iPhone应用程序
- 14. 如何更新ASP.NET Web应用程序?
- 15. 如何更新asp.net Azure应用程序
- 16. 如何实现应用程序更新?
- 17. 如何更新Eclipse RCP应用程序?
- 18. Android应用程序更新 - 如何?
- 19. 如何获取应用程序更新?
- 20. 如何找出更多关于安装的应用程序?
- 21. 如何判断iOS应用程序是否已新安装或更新?
- 22. 已通过BlackBerry应用程序更新但未在应用程序世界
- 23. 找出应用程序是否已计划使用CeRunAppAtTime运行
- 24. 如何使用修补程序更新应用程序文件?
- 25. 如何验证应用程序池用户名和密码是否已更新?
- 26. 如何找出应用程序是否已移至Android上的SD卡
- 27. Android应用程序更新
- 28. PHP应用程序更新
- 29. 应用程序更新器
- 30. Android应用程序更新
您可以通过更换接收器包做到这一点。这里有一个[示例](http://stackoverflow.com/questions/4513825/how-to-correctly-filter-package-replaced-broadcast) –