2012-09-10 2 views
1

저는 AT commands을 모뎀으로 보내야하는 Android에서 응용 프로그램을 개발 중입니다.Android에서 3g 모뎀과 통신하십시오.

이러한 명령에는 IMEI 번호 추출, 사용 가능한 네트워크 반복 및 APN 세부 정보가 포함됩니다.

나는이 소프트웨어의 Windows (C#) 버전을 가지고 있으므로 보낼 명령에 익숙하지만 Windows에서는 관련 Serial Port을 열고 명령을 보낼 수 있습니다.

아무도 도와 줄 수 있습니까?

리치.

EDIT

내가 모뎀의 일부 기능은 꽤 도움이 한 TelephonyManager API

TelephonyManager telMgr = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE); 
    String SerNum= telMgr.getSimSerialNumber(); 
    String IMEI= telMgr.getDeviceId(); 
    String Operator= telMgr.getSimOperatorName(); 

에 노출되는 것을 발견했지만,의 방법이있을 것 같지 않습니다 수동으로 네트워크 운영자/공급자를 설정합니다. 이것이 내가 필요한 주요한 것입니다.

답변

0

this fellow에 따르면 안드로이드의 다양한 모뎀에 대한 내 경험과 TelephonyManager page에는 아무것도 없다는 사실을 근거로 믿고 싶어하는 공개 API는 없습니다.

당신은 하지만 아마 모든 장치에서 작동하지 않습니다 (와이맥스 관리는 예를 들어 here에게, 수행해야하는 것과 유사) 비공개 방법에 액세스하려면 반사를 사용하여이 작업을 수행 할 수있을 것/OS 보안 목적으로 인해 이러한 일을하려면 뿌리를 내려야 할 수도 있습니다.

+0

예, 지금까지 읽은 모든 내용은 완료 할 수 없다는 것을 나타냅니다. 따라서이 질문을 게시 한 이유가 있습니다. 누군가가 수행 할 수있는 경우를 위해서입니다. –

+0

그래, 나는 오히려 무슨 일이 일어 났는지 궁금해. 원격 장치 관리 앱을 위해 내가 원했던 것입니다. – berwyn

0

저는 맞춤식 시스템에서 작업하고 GSM 모뎀을 통합했습니다. logcat을 사용하여 "라디오"로그를 활성화하고 살펴볼 것을 제안합니다. 그것으로부터 배울 것이 많습니다 (적어도 제가 한 것). APN의 목록을 포함하는 설정 파일이 있으며 연결할 때 "기본 설정 APN"이 표시됩니다. 내 시스템에서는 해당 파일의 APN입니다. 안드로이드에서 낮은 수준의 게임을하는 방법에 대한 정보가 거의 없기 때문에 (정보는 앱 수준에서만 사용 가능합니다), 몇 가지 "off the shelf"시스템을 사용하여 (그리고 희생하여) 어떻게 작동하고 사용자 정의되었는지 살펴 봅니다. 내 사용자 지정. 전화가있는 지역은 동일한 Android 버전 (Froyo, 진저 브레드 등)으로 각 시스템의 차이점을 기록 할 수 있기 때문에 다른 제조업체/이동 통신사가 자체 맛을 추가하는 장소 중 하나 인 것으로 보입니다. 불행히도, 이것은 정답이 아니지만이 정보가 도움이되기를 바랍니다.

또한 모뎀에 직접 AT 명령을 보내려고하면 약간의 경고가 표시됩니다. RIL은 지속적으로 모뎀과 상호 작용하며 AT 명령을 앞뒤로 관리합니다. 보내지 않은 명령에 대한 응답을 받으면 화가납니다. RIL은 끊임없이 신호 강도와 사물을 확인하고 RIL 또는 Android/연결 관리자가 조치를 취해야하는 모뎀의 모든 원치 않는 메시지를 관리합니다.