有沒有人有編程選擇SIM卡的經驗,當手機使用雙SIM卡適配器?雙SIM卡Android
感謝, 斯登
後來補充: 我發現在Android Market上的應用MultiSim,該公司在其描述中寫道:「... 模擬雙SIM卡適配器用戶可以切換他們的SIM卡...「,那麼Android SDK中是否有一些API,允許SIM卡切換/選擇?
有沒有人有編程選擇SIM卡的經驗,當手機使用雙SIM卡適配器?雙SIM卡Android
感謝, 斯登
後來補充: 我發現在Android Market上的應用MultiSim,該公司在其描述中寫道:「... 模擬雙SIM卡適配器用戶可以切換他們的SIM卡...「,那麼Android SDK中是否有一些API,允許SIM卡切換/選擇?
目前的Android平臺不支持多張SIM卡。具有此類支持的設備已針對此進行了定製,因此您需要從該設備的製造商那裏獲取有關與其進行交互的任何設施的信息。
嗨,你確定嗎?* MultiSim *應用程序和* Hypercard 3G *(http://www.2-phones-in-1.com/content/hypercard-3g-digital-dualsim-3g-use-2-simcards -any-mobile-phone-online-simswitch-and-full-gs)正在工作?如果您將檢查* Hypercard 3G * URL,您會發現那裏的雙SIM卡包含Android和Symbian應用程序,允許SIM卡切換...感謝您的答覆。 – STeN 2011-03-10 07:43:54
@STEN:「嗨,你確定嗎?」 - @ hackbod是Google員工和核心Android團隊成員。 「MultiSim應用程序和Hypercard 3G(2-phones-in-1.com/content/...)這樣的產品是如何工作的?」 - 我懷疑@hackbod是這些應用程序中的任何一個的作者,因此無法真正評論這些應用程序。這些應用程序的開發者可能會遵循@ hackbod關於聯繫設備製造商的建議。 「那麼Android SDK中是否有一些API允許SIM卡切換/選擇?」 - 沒有。 – CommonsWare 2011-03-10 13:23:17
嘗試在API級別23中添加getDeviceId(int slotId)。 – Ameer 2016-03-10 08:27:20
請參閱此Dual Sim Android文章。如果你遵循這個方向,我認爲你可以做到,即使目前的android api不支持雙SIM卡移動設備。
對於SMS:
假設你正在爲自己的手機應用程序,你是願意去通過找出分配給你的每一個SIM卡的ID(sim_id
)的麻煩(可能通過檢查手機的日誌輸出,搜索sim_id
,這是我做了什麼),你可以使用下面的代碼來設置默認SIM卡,發送短信:
int simId = <place desired SIM ID here>;
Intent simIntent = new Intent("android.intent.action.SMS_DEFAULT_SIM");
simIntent.putExtra("simid", simId);
sendBroadcast(simIntent);
與其他一些UI提示的東西相結合(對實際上'選擇'首選SIM卡),這個該怎麼辦。
我不確定這種方法是否適用於您(儘管代碼似乎與製造商無關);我通過在我的Mlais MX28上進行反覆試驗(用定製的ROM)來解決這個問題。但我認爲這仍然值得一試。 :)
更新: 奇怪的是,該解決方案在我正在處理的應用程序的幾個更新後意外停止工作。但我遇到了另一種方式(這似乎更有希望)。 (我相信這可以擴展到其他SIM選擇場景爲好,因爲設置緩存包含name
小號gprs_connection_sim_setting
,voice_call_sim_setting
,video_call_sim_setting
之類條目。)
ContentValues val = new ContentValues();
val.put("value", "here goes the preferred SIM ID");
getContentResolver().update(Uri.parse("content://settings/system"), val, "name='sms_sim_setting'", null);
(不幸的是,這需要android.permission.WRITE_SETTINGS
許可。 )
由於沒有人提到它,Android終於在Android 5.1上添加了official multisim support。
但是,除非您的應用程序僅針對該API(目前不足0.5%的市場),否則您自己使用其他答案中提到的更晦澀的解決方案。
您可以使用Java反射來獲取多個SIM卡詳情。 [這裏是示例如何做到這一點](http://stackoverflow.com/a/17499889/703851) – 2013-07-09 04:48:24
您可以嘗試使用'MultiSim'庫: http://stackoverflow.com/a/41544422/1665964 – 2017-01-09 11:35:08