我正在编写一个处理3G使用的android应用程序。。当用户打开3G移动数据连接时,我想计算3G使用的经过时间,并在经过时间到达特定时间时通知用户。。
问题是,我不知道如何检测3G开-关事件,以便在这些事件发生时运行某些代码。请帮我举一个详细的例子我是安卓系统的初学者。
我试过在谷歌上搜索,但对我没有帮助。我想调用这样一个函数:
public void function on3GOnCallback(){
// i will start counting the time here
}
public void function 0n3GOffCallback(){
// `i will stop counting the time here `
}
系统级回调使用BroadcastReceiver
s实现。有关更多信息,请参阅Android BroadcastReceiver教程。
移动数据状态的事件由TelephonyManager
广播。特别是,您似乎对TelephonyManager.DATA_CONNECTED
和TelephonyManager.DATA_DISCONNECTED
事件感兴趣。您可以通过查询TelephonyManager
的网络类型来区分不同类型的数据网络(2G、EDGE、3G等)。