2011-03-10 8 views
21

전화가 듀얼 SIM 어댑터를 사용하는 경우 SIM 카드 선택 프로그래밍 경험이있는 사람이 있습니까?듀얼 SIM 카드 안드로이드

감사합니다, 스텐


나중에 추가 : 가 나는 것을 작성의 설명에이 안드로이드 마켓에 MultiSim 응용 프로그램을 발견했다 "... 아날로그 듀얼 SIM 어댑터 사용자는 SIM 카드를 전환 할 수 있습니다 ... ", SIM 카드 스위치/선택을 허용하는 Android SDK에 API가 있습니까?

+0

Java 리플렉션을 사용하여 여러 SIM 세부 정보를 얻을 수 있습니다. [여기에 예제가 있습니다.] (http://stackoverflow.com/a/17499889/703851) –

+0

'MultiSim' 라이브러리를 사용해보세요 : http://stackoverflow.com/a/41544422/1665964 –

답변

25

현재 Android 플랫폼은 여러 SIM을 지원하지 않습니다. 이러한 지원이있는 장치는이 용도로 사용자 정의되었으므로 장치 제조업체와 상호 작용해야하는 기능에 대한 정보를 해당 장치 제조업체에 제공해야합니다.

+0

안녕, 그거 확실해?* 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)이 효과가 있습니까? * 하이퍼 카드 3G * URL을 확인하면 이중 SIM 패키지가 SIM 카드를 전환 할 수있는 Android 및 Symbian 응용 프로그램과 함께 제공된다는 것을 알 수 있습니다. 답변을 제공해 주셔서 감사합니다. – STeN

+21

@STeN : "안녕하세요, 확실합니까?" @hackbod는 Google 직원이자 핵심 Android 팀 구성원입니다. "HyperSite 3G (2-phones-in-1.com/content/...)와 같은 MultiSim 응용 프로그램과 제품이 어떻게 작동합니까?" - @hackbod가 그 앱 중 하나의 작성자이고 따라서 해당 앱에 대해 정말로 논평 할 수 없다는 점은 의심 스럽다. 그 애플 리케이션 개발자는 @ hackbod의 장치 제조사 접촉 제안을 따르는 것으로 추정됩니다. "그래서 안드로이드 SDK에 SIM 카드 스위치/선택을 허용하는 API가 있습니까?" -- 아니. – CommonsWare

+1

API 레벨 23에서 추가 된 getDeviceId (int slotId)를 사용해보세요. – Ameer

0

Dual Sim Android 문서를 참조하십시오. 이 방향을 따르는 경우 현재 안드로이드 API가 듀얼 SIM 카드 모바일 장치를 지원하지 않더라도 사용자가 만들 수 있다고 생각합니다.

SMS를 들어
0

:

당신이 당신의 자신의 전화를위한 응용 프로그램을 개발하고, 당신이 당신의 SIM 카드의 각각에 할당 된 ID를 (sim_id)를 알아내는 문제를 통해 갈 의향이 있다고 가정 (아마) 내가 한 일이었다, sim_id 검색, 휴대 전화의 로그 출력을 확인을 통해, 당신이 보내는 SMS의 기본 SIM을 설정하려면 다음 코드를 사용할 수 있습니다 : 다른 UI 프롬프트 물건과 결합

int simId = <place desired SIM ID here>; 
Intent simIntent = new Intent("android.intent.action.SMS_DEFAULT_SIM"); 
simIntent.putExtra("simid", simId); 
sendBroadcast(simIntent); 

(대한 실제로 '선호하는 SIM 선택'),이 속임수를 써야합니다.

이 방법이 사용자에게 도움이 될지 확실하지 않지만 (코드가 제조업체에 독립적으로 표시됨) 나는 Mlais MX28 (맞춤형 ROM 사용)에서 시행 착오를 찾아 냈다. 하지만 여전히 가치있는 일입니다. :)

업데이트 : 이상하게도, 내가 작업하고 있던 앱을 몇 가지 업데이트 한 후 솔루션이 예기치 않게 작동하지 않았습니다. 그러나 나는 다른 길을 건너왔다 (더 유망한 것으로 보인다). (필자는 설정 캐시가 namegprs_connection_sim_setting, voice_call_sim_setting, video_call_sim_setting 등으로 항목이 포함로이 같은 다른 SIM 선택 시나리오 확장 할 수 있다고 생각합니다.)

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 권한이 필요합니다.)

5

아직 아무도 언급하지 않았기 때문에 Android는 마침내 Android 5.1에 official multisim support을 추가했습니다.

하지만 앱이 해당 API (현재 시장의 0.5 % 미만)만을 타겟팅하지 않는 한 다른 답변에서 언급 된 더 명확하지 않은 솔루션을 사용하고있는 것입니다.

관련 문제