Android/Google Play - 应用程序在运行中能否更新?

7
我正在开发一个设计用于连续运行的应用程序。此外,当用户使用应用程序时,通过固定功能锁定用户在应用程序中。当应用程序一段时间未检测到用户交互时,它会取消固定,调用Android Dream服务,并显示某种屏幕保护程序。当用户点击设备时,它会“唤醒”,进入主屏幕并重新固定。
我需要我的应用程序自动更新,但是鉴于现有情况,我很难做到这一点。它似乎根本没有更新,或者按照我的一位同事的说法,更新了但关闭了应用程序。
是否有一种方法可以让应用程序在运行时检测、下载和安装更新,然后必要时重新启动自己?什么是最好的方法?
非常感谢。

你所说的更新是指内容吗?还是其他什么?如果是内容,你可以使用Firebase远程配置。 - MatejMecka
1个回答

11

有没有一种方式让应用在运行时检测、下载和安装更新?

这由Google Play商店为您处理。当应用程序将要升级到新版本时,它会被终止,以便安装新版本顺利进行且数据不会损坏。

如果必要的话,能否自我重新启动?

如果想要在升级后继续运行应用(或者说重新启动应用),是需要进行额外的操作的。

我使用的方法如下:
在清单文件中添加:

<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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接