这个问题可能是因为应用程序在升级过程中出现了错误,或者是您的应用程序没有正确设置自我升级。下面是一些可能有用的代码示例来解决这个问题:
1.检查更新是否成功,如果成功,则立即重启应用程序:
@Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(Intent.ACTION_PACKAGE_REPLACED)) { String packageName = intent.getData().getSchemeSpecificPart(); if (packageName.equals(context.getPackageName())) { restartApp(getBaseContext()); } } }
private void restartApp(Context context) { final Intent intent = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName()); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); context.startActivity(intent); }
2.确保您的应用程序已正确设置自我升级:
如果您的应用程序使用Google Play的In-App Billing来提供订阅,则必须遵守以下所有规则:
a)使用裸APK的订阅应用程序必须在升级时使用下载必需的应用程序版本。
b)应用程序必须在用户的可见性范围内升级:
i)当应用程序运行时,必须更新其订购信息以反映其新的订购状态。
ii)在应用程序完成订购流程并成为Premium用户之前,应用程序不得展示广告。
c)应用程序必须将所有可更新的信息与用户保持同步。在发出交易或更新请求之前,应始终检查付款网关以获取最新的订购数据。
d)应用程序必须使用及时有效的付款网关和必要的货币转换来处理交易。无法使用Google Play In-App Billing的应用程序将不得出现广告,这也适用于其自己的货币单位。
e)应用程序必须提供有关订阅的明确建议。
f)一旦应用程序发生任何可更新的情况,应用程序必须在其用户界面中显示更新提示。
希望这些代码示例能帮助解决您的问题。