Connectivity broadcastReceiver 调用 Application 的 onCreate 方法

Connectivity broadcastReceiver calls Application's onCreate method

在我的应用程序中,我正在对应用程序的 onCreate 方法进行设置(包括对我们服务器的调用)。另一方面,我们使用 broadcastReceiver 来获取连接的变化。一切似乎都运行良好,但是,如果我们终止应用程序,然后连接发生变化,则会调用应用程序的 onCreate 方法,这会导致对我们服务器的调用不应该完成。这是正常行为吗?我们如何避免在连接改变时调用 onCreate 方法?

连接广播接收器在 AndroidManifest 中是这样配置的:

<receiver android:name="x.ConnectivityReceiver" android:label="ConnectivityReceiver">
    <intent-filter>
        <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
    </intent-filter>
</receiver>

提前致谢。

这是正常行为,因为您的应用程序是为您的 BroadcastReceiver 启动(创建)的。防止 onCreate 被调用的唯一方法是删除你的 BroadcastReceiver.
您可以在您的应用程序 class 或 Activity 中动态注册您的接收器,而不是在清单中。不过不知道合不合你的需求