none
c# winform 에서 안드로이드 폰 정보를 가져오고 싶습니다. RRS feed

  • 질문

  • 안녕하세요.

    현재 프레임워크 4.7.2  /  c# winform 으로 관리 프로그램을 만들고 있습니다.

    안드로이드 폰에서 imei, serial number 등의 정보를 가져와서 

    화면에 보여줘야 하는데..

    몇날 며칠을 검색을 해봐도 자마린 관련 글 밖에 없어 도움을 요청 드립니다.

    관련된 글이나 샘플코드 가 있으시면 도와 주십시요...

    감사합니다.

    2022년 1월 25일 화요일 오후 3:48

답변

모든 응답

  • 안녕하십니까? 열린정보 님
    포럼에 질문주셔서 감사합니다.
    winform에서는 adb 명령을 호출하여 휴대폰의 IMEI를 읽을 수 있습니다. 
    Android Debug Bridge(abd) 정보 https://developer.android.com/studio/command-line/adb

                String cmd = Application.StartupPath + "\\adb\\adb.exe";
                Process p = new Process();
                p.StartInfo = new System.Diagnostics.ProcessStartInfo();
                p.StartInfo.FileName = cmd;// set program name
                p.StartInfo.Arguments = "shell service call iphonesubinfo 1 ";
                p.StartInfo.UseShellExecute = false; // Close the use of the shell
                p.StartInfo.RedirectStandardInput = true; // redirect standard input
                p.StartInfo.RedirectStandardOutput = true; // redirect standard output
                p.StartInfo.RedirectStandardError = true; // redirect error output
                p.StartInfo.CreateNoWindow = true;// Set the window not to be displayed
                p.Start();
                preimei = p.StandardOutput.ReadToEnd();
    

    다음은 android-5.0.0_r1의 iphonesubinfo service에 대한 TRANSACTION CODES 입니다.
    대부분의 방법에는 루트가 필요하나 다행히 getDeviceId(기기의 IMEI/MEID를 가져오는 데 필요한 것)는 그렇지 않습니다.
    Android 버전마다 차이가 있을 수 있으므로 필요한 버전을 찾으시길 바랍니다.

    1  getDeviceId
    2  getDeviceIdForSubscriber
    3  getImeiForSubscriber
    4  getDeviceSvn
    5  getSubscriberId
    6  getSubscriberIdForSubscriber
    7  getGroupIdLevel1
    8  getGroupIdLevel1ForSubscriber
    9  getIccSerialNumber
    10  getIccSerialNumberForSubscriber
    11  getLine1Number
    12  getLine1NumberForSubscriber
    13  getLine1AlphaTag
    14  getLine1AlphaTagForSubscriber
    15  getMsisdn
    16  getMsisdnForSubscriber
    17  getVoiceMailNumber
    18  getVoiceMailNumberForSubscriber
    19  getCompleteVoiceMailNumber
    20  getCompleteVoiceMailNumberForSubscriber
    21  getVoiceMailAlphaTag
    22  getVoiceMailAlphaTagForSubscriber
    23  getIsimImpi
    24  getIsimDomain
    25  getIsimImpu
    26  getIsimIst
    27  getIsimPcscf
    28  getIsimChallengeResponse
    29  getIccSimChallengeResponse
    
    **********************************
    
    문제 해결이 되지 않아서 정확한 답변을 원하는 경우에는 문제의 정보를 더 자세하게 답변으로 제공해주시기 바랍니다.
    감사합니다.

    MSDN Community Support Elin

    ※ 다른 커뮤니티 멤버에게 도움이 될 수 있게 문제를 해결 한 답변을 '답변으로 표시'를 클릭하시고 그렇지 않은 경우 '답변으로 표시 취소'를 클릭하시기 바랍니다. MSDN 서포트에 대한 의견이나 불만이 있을 경우 MSDNFSF@microsoft.com 으로 연락하시기 바랍니다.



    • 답변으로 표시됨 Elin-msftModerator 2022년 2월 9일 수요일 오전 1:31
    • 답변으로 표시 취소됨 열린정보 2022년 6월 25일 토요일 오전 10:31
    2022년 1월 26일 수요일 오전 8:20
    중재자
  • 안녕하세요.
    바쁘실텐데 답변 감사합니다.
    알려주신 코드로 잘 나옵니다.
    추가로 여쭤 볼 것이 있는데 ADB 를 이용하니 개발자 모드 -> USB 디버깅 허용을 해야지만 되던데
    개발자 모드 설정 없이 USB 만 연결 한 상태에서 가져오는 방법은 없을까요?
    다시 한번 감사드립니다.
     
    2022년 1월 26일 수요일 오후 12:30
  • 안녕하세요,열린정보 님
    피드백 주셔서 감사합니다.
    여쭤보신 문제에 관해서는 AT 명령어를 통해 휴대폰이나 GSM/GPRS 모뎀의 기본 정보를 얻을 수 있습니다.
    다음 질문이 도움이 될 수 있을 것입니다.
    AT Command fetching comport, IMEI, IMSI, USB를 통해 연결된 모바일 장치/모뎀의 모바일 모델 사용 
    Link:https://social.msdn.microsoft.com/Forums/vstudio/en-US/2fabc569-70a5-448f-a84b-4c4b2d53ce76/using-at-command-fetching-comport-imei-imsi-mobile-model-of-mobile-devicemodem-connected-via-usb?forum=netfxbcl
    도움이 되였으면 합니다.

    MSDN Community Support Elin

    ※ 다른 커뮤니티 멤버에게 도움이 될 수 있게 문제를 해결 한 답변을 '답변으로 표시'를 클릭하시고 그렇지 않은 경우 '답변으로 표시 취소'를 클릭하시기 바랍니다. MSDN 서포트에 대한 의견이나 불만이 있을 경우 MSDNFSF@microsoft.com 으로 연락하시기 바랍니다.

    • 답변으로 제안됨 ChoiJN 2022년 2월 8일 화요일 오후 2:34
    • 답변으로 표시됨 열린정보 2022년 6월 25일 토요일 오전 10:31
    2022년 1월 27일 목요일 오전 6:08
    중재자
  • 너무 감사합니다..
    AT Command  로 해결했습니다.
    감사합니다.

    2022년 2월 8일 화요일 오후 2:34