Android / Google Play - 应用程序在运行时可以更新

时间:2016-07-05 14:46:17

标签: android google-play

我正在构建一个旨在持续运行的应用。此外,用户在使用时会锁定应用程序(通过固定功能)。当应用程序暂时未检测到用户交互时,它会自动取消,调用Android梦想服务,并显示各种屏幕保护程序。当用户点击设备时,它会“唤醒”,进入主屏幕并自行复制。

我需要我的应用程序自动更新。但是,鉴于这种情况,我很难这样做。它似乎没有更新,或根据我的一位同事,更新但关闭了应用程序。

应用程序是否有办法在运行时检测,下载和安装更新,然后,如有必要,重启自己?什么是最好的方法?

非常感谢。

1 个答案:

答案 0 :(得分:9)

  

应用程序是否有办法在运行时检测,下载和安装更新

这是由google play store为您处理的。当应用程序升级到新版本时,应用程序将被终止,因此新版本的安装非常顺利,数据也不会损坏。

  

如有必要,重新启动自己?

如果你想在升级后继续运行(或者更确切地说,重新启动应用程序),是的,你必须做一些额外的事情。

我使用的一种方式是:
放入清单:

<receiver android:name=".receivers.AppUpgraded">
    <intent-filter>
        <action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
    </intent-filter>
</receiver>
public class AppUpgraded extends BroadcastReceiver {

    @Override
    public void onReceive(final Context context, Intent intent) {
        // your app was just upgraded, restart stuff etc.
    }
}

请注意,还有一个action.PACKAGE_REPLACED会触发任何已升级的应用。您可能只对升级自己的应用感兴趣,因此请使用action.MY_PACKAGE_REPLACED