我试图检测漫游激活何时发生。到目前为止,我已经使用了下面的一段代码,而是因为我一直无法对其进行测试,我不知道它的正确性在android中的漫游检测
TelephonyManager telephonyManager = TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
PhoneStateListener cellLocationListener = new PhoneStateListener() {
public void onCellLocationChanged(CellLocation location) {
if(telephonyManager.isNetworkRoaming()
{
Toast.makeText(getApplicationContext(),"in roaming",Toast.LENGTH_LONG).show();
}
}
};
telephonyManager.listen(cellLocationListener, PhoneStateListener.LISTEN_CELL_LOCATION);
我已经写了这一点,认为为了让漫游激活首先信号单元必须改变。请让我知道我的演绎是否正确,如果不是我怎么做到的。
你可以在模拟器上我觉得很容易进行测试。 如果您在Eclipse中切换到DDMS调试透视图,则可以选择仿真器,然后从数据选择器中选择仿真器控件中的漫游。 这应该引发漫游和非漫游之间的变化。问题在于,它可能会使用不同的方式在模拟器中从一个状态转换到另一个状态,然后实际的设备就会转移。 它在模拟器中工作吗? – Janusz 2010-03-03 18:18:46
我正在使用除Eclipse之外的其他IDE,其中一个没有此选项 – 2010-03-03 18:49:40
您可以通过模拟器控制台上的telnet执行相同的操作。 查看http://developer.android.com/intl/fr/guide/developing/tools/emulator.html#telephony您可以使用gsm命令启用漫游。 – Janusz 2010-03-04 09:02:43