gpt4 book ai didi

未在 Release模式下调用 Android MY_PACKAGE_REPLACED

转载 作者:行者123 更新时间:2023-12-05 00:05:24 28 4
gpt4 key购买 nike

我有一个应用程序更新接收器,它在调试 apk 中运行良好。但在使用 Google Play 构建或已安装的发布构建发布和更新后,它不会被调用。

list 文件中的接收者条目是

<receiver android:name=".receiver.AppUpdateReceiver">
<intent-filter android:priority="100">
<action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
</intent-filter>
</receiver>

Receiver 类是

public class AppUpdateReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
try {
String action = intent.getAction();

if (action != null && TextUtils.equals(action, Intent.ACTION_MY_PACKAGE_REPLACED)) {
Toast.makeText(context, "updated", Toast.LENGTH_SHORT).show();
}
} catch (Exception ex) {
CTAnalytics.sendExceptionToServer("AppUpdateReceiver onReceive error:", ex);
}
}
}

最佳答案

看起来不错。我不确定为什么需要指定“android:priority”?

尝试删除 android:priority 并使您的接收器 exported(我认为默认情况下应该如此,因为您指定了一个 intent-filter)。所以像这样:

<receiver android:name=".receiver.AppUpdateReceiver"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MY_PACKAGE_REPLACED"/>
</intent-filter>
</receiver>

关于未在 Release模式下调用 Android MY_PACKAGE_REPLACED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59841587/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com