如果不从Playstore更新,应用程序如何在内部自动更新? 我的意思是app的内部数据被更改(通过互联网)而不从Playstore更新。例如任何竞赛应用程序或Facebook应用程序。这里的新闻源会自动更新。
技术术语是什么?
有关它的任何教程吗?
答案 0 :(得分:28)
如果您想检查您的应用是否有更新(不与Google Play互动),您必须轮询服务器(提供您当前的版本)并让服务器检查是否有更新的版本可用。如果是这种情况,请让服务器使用更新日志和更新版本的URL进行响应。
幸运的是,有些图书馆可以做到这一点:
答案 1 :(得分:1)
这是替补
https://developer.android.com/guide/app-bundle/in-app-updates#update_readiness
尝试使用该Google库从应用程序进行更新
dependencies {
implementation 'com.google.android.play:core:1.5.0'
...}
答案 2 :(得分:0)
您可以按照以下说明使用灵活的应用内更新:
https://developer.android.com/guide/app-bundle/in-app-updates#immediate_flow
答案 3 :(得分:0)
还可以查看AppCenter(Former HockeyApp)应用内更新https://docs.microsoft.com/en-us/appcenter/distribution/inappupdates
答案 4 :(得分:0)
https://github.com/bitstadium/HockeySDK-Android/blob/develop/hockeysdk/src/main/java/net/hockeyapp/android/tasks/DownloadFileTask.java#L194在打开下载的APK文件方面具有完美且仍在运行的实现方式...
private fun install(downloadedAPK: File, context: Context) {
val intent = Intent(Intent.ACTION_INSTALL_PACKAGE)
intent.setDataAndType(Uri.fromFile(downloadedAPK),
"application/vnd.android.package-archive")
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
var oldVmPolicy: StrictMode.VmPolicy? = null
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
oldVmPolicy = StrictMode.getVmPolicy()
val policy = StrictMode.VmPolicy.Builder()
.penaltyLog()
.build()
StrictMode.setVmPolicy(policy)
}
context.startActivity(intent)
if (oldVmPolicy != null) {
StrictMode.setVmPolicy(oldVmPolicy)
}
}
答案 5 :(得分:-2)
你可以试试这个库:implementation 'com.github.vermat516:HelperLibrary:1.0.1'
这是我认为最好的,我们只需要写:
new UniversalHelper(this).updateApp();
其余工作将由图书馆自动完成
这是您的应用程序外观的回应[This]