2012-11-30 33 views
0

我对如何使用广播接收器并没有太多的知识,并且现在有这个愚蠢的问题。 我需要一个广播接收器来注册网络的状态变化,这与主应用程序无关。我的意思是,即使应用程序未启动并正在运行,它也可以工作。独立于应用程序的广播接收器?

谢谢!

+0

那么你的问题是什么?你做了什么? –

+0

我的问题是:是否有可能实现这样一个接收器? 我想监视网络状态,并在网络提供商关闭时将网络使用情况存储在数据库中,并在有可用提供商时开始计数。但即使主应用程序没有运行,我也想这样做。所以我问是否有可能实现这样的广播接收机? :) – Seishin

回答

1

当您的broadcastreceiver注册后,它将保持注册状态,直到您取消注册为止。如果您在不注销的情况下关闭程序,它实际上会保持注册状态。这样,即使应用程序没有运行,它也会一直注意到网络的变化(在你的情况下)。清单文件

+0

我明白了。感谢这些信息。 :) – Seishin

1

使用此当互联网连接改变

<receiver android:name=".YOURRECEIVER"> 
    <intent-filter> 
    <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> 
    </intent-filter> 
    </receiver> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

的onReceive方法将被调用。希望它能帮助你。这里发布了很多相同的问题,请在此处进行澄清。

+0

感谢这个例子。 但我问是否有可能在应用程序启动之前注册它? – Seishin

+1

当你在清单文件中注册它时,它总是在后台检查,如果你的网络状态发生变化,它会通知你的广播接收机的onReceive()方法。那么你可以处理任何你想要的 –