连接broadcastReceiver调用应用程序onCreate方法

时间:2016-04-01 07:17:18

标签: android android-lifecycle android-broadcastreceiver android-applicationinfo

在我的应用程序中,我正在应用程序的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>

提前致谢。

1 个答案:

答案 0 :(得分:1)

这是正常行为,因为您的应用程序已为BroadcastReceiver启动(创建)。阻止onCreate被取消的唯一方法是删除BroadcastReceiver 您可以在Application类或Activity中动态注册接收器,而不是在清单中注册。我不知道这是否适合您的需求