我正在开发一个用于Android的推送通知库(http://deaconproject.org/),它需要在网络连接中断或更改时采取措施-也就是说,它需要重新启动服务器连接或暂停其操作,直到网络连接可用。在"android.net.ConnectivityManager.CONNECTIVITY_ACTION".上使用Android BroadcastReceiver似乎可以很好地工作。
我的问题是在测试库时-我想自动测试库在各种配置条件下对断开的网络连接或从3G到WiFi的转换的响应。问题是,我不想整天坐在模拟器前敲F8。
有没有一种方法可以在jUnit测试中以编程方式操作安卓上的网络连接,而不需要切换飞行模式?我已经尝试通过控制台向模拟器发出命令,操纵GSM模式等,但当显示器上的电话状态发生变化时,互联网连接仍然有效。
发布于 2010-07-18 16:37:36
右键单击"Project Explorer“面板中的项目,选择"Run As”,然后选择"Run Configurations“。
在以模式显示的窗口左侧,选择"Android应用程序“,在同一窗口的右侧,选择选项卡”目标“。
在窗口底部的"Emulator Launch Parameters“部分中,您有太多有关internet连接的选项。
我希望这对你有所帮助。
Igor
发布于 2011-08-22 17:31:01
我发现Android Dev Tools应用程序真的很有用。
它允许您操作重要的系统设置,如网络连接。它甚至允许你设置一个时间间隔,在这个时间间隔内,它会自动打开和关闭wifi,从而允许你测试与网络相关的广播接收器。
如果你想在一个真正的开发设备上安装Dev Tools应用程序,你可以从你的模拟器中复制该应用程序,然后使用ADB将其安装到你的设备上。要从正在运行的仿真器复制应用程序,请执行:
adb -e pull /system/app/Development.apk ./Development.apk这会将.apk文件复制到当前目录中。然后使用以下命令将其安装在您连接的设备上:
adb -d install Development.apk

发布于 2010-08-18 01:27:31
您可能还想查看一下eclipse中的仿真器控件视图。我没有太多的运气让它杀死我的数据,但看起来它应该。

https://stackoverflow.com/questions/3002886
复制相似问题