我試圖檢測漫遊激活何時發生。到目前爲止,我已經使用了下面的一段代碼,而是因爲我一直無法對其進行測試,我不知道它的正確性在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