Android:从未收到广播ACTION_MY_PACKAGE_REPLACED

史考特

我的应用程序运行的服务会在设备重启或重新安装(更新)时终止。我添加了两个广播接收器来捕获这些事件-BOOT_COMPLETED和ACTION_MY_PACKAGE_REPLACED。

ACTION_MY_PACKAGE_REPLACED接收器似乎不起作用。这是我所拥有的:

AndroidManifest.xml:

    <receiver android:name=".RebootReceiver">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED"/>
        </intent-filter>
    </receiver>
    <receiver android:name=".ReInstallReceiver">
        <intent-filter>
            <action android:name="android.intent.action.ACTION_MY_PACKAGE_REPLACED"/>
        </intent-filter>
    </receiver>

重新启动接收器:

public class RebootReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Logg.d("Reboot completed. Restarting service");
        context.startService(new Intent(context, MyService.class));
    }
}

重新安装接收器:

public class ReInstallReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Logg.d("App Upgraded or Reinstalled. Restarting service");
        context.startService(new Intent(context, MyService.class));
    }
}

运行minSdk = 16; 在运行KitKat的Galaxy S3上进行测试。通过检查我的服务是否在“设置/应用程序”中运行来测试成功,该服务在重新启动时会执行,但不会重新安装。

我考虑了以下内容,即在Android Studio 1.0+中,清单合并意味着我无法将两个接收者合并为一个类。请参阅未收到ACTION_MY_PACKAGE_REPLACED,并且对于名称相同但内容不同的接收者,Android清单合并失败

伦巴第

您可能已经知道了这一点,但是清单中的操作名称是错误的,而不是:

android.intent.action.ACTION_MY_PACKAGE_REPLACED

它应该是

android.intent.action.MY_PACKAGE_REPLACED

您也可以adb shell出于测试目的手动触发接收器

adb shell am broadcast -a android.intent.action.MY_PACKAGE_REPLACED -n com.example.myapp/.ReInstallReceiver

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android:指定动作后未收到广播

来自分类Dev

指令未收到广播

来自分类Dev

Android广播接收器未收到意图

来自分类Dev

android.intent.action.MY_PACKAGE_REPLACED无法正常工作

来自分类Dev

RabbitMQ死信交换从未收到消息

来自分类Dev

Kotlin-从未收到MutableStateFlow Emmision

来自分类Dev

RabbitMQ死信交换从未收到消息

来自分类Dev

从未收到 AutoResponded 事件通知

来自分类Dev

有人收到过Android MY_PACKAGE_REPLACED通知吗?

来自分类Dev

因意图呼叫而未收到广播

来自分类Dev

广播接收器未收到意图

来自分类Dev

最小的Android小部件,APPWIDGET_DELETED和APPWIDGET_DISABLED意图从未收到

来自分类Dev

发送从未收到的多播数据包

来自分类Dev

iOS 使用cordova 推送通知。从未收到通知

来自分类Dev

Android设备未收到推送

来自分类Dev

活动未收到来自服务的本地广播

来自分类Dev

无法获得ACTION_PACKAGE_REMOVED广播-Android 10 /设置

来自分类Dev

android何时会广播意图ACTION_PACKAGE_NEEDS_VERIFICATION?

来自分类Dev

android.intent.action.BOOT_COMPLETED在“重新启动”或“重新启动”时未收到意图

来自分类Dev

Pushwoosh / GCM-Android-未收到消息

来自分类Dev

在Android上未收到推送通知

来自分类Dev

在Android中未收到解析推送通知

来自分类Dev

未收到测试事件-Android Studio

来自分类Dev

Android上的处理程序未收到消息

来自分类Dev

Android:未收到额外的意图ID

来自分类Dev

设备上未收到Android GCM消息

来自分类Dev

React Native Module中的EADemo从未收到委托方法handleEvent NSStreamEventOpenCompleted吗?

来自分类Dev

我的表格从未收到过发布的自定义消息

来自分类Dev

Kafka Java使用者从未收到任何消息

Related 相关文章

热门标签

归档