2013-04-10 3 views
5

관련 질문을 이미 읽었지만 대부분 SMS를 타겟팅하지 않았습니다. 내가 지금까지 발견 한 것은 :전화로 SMS를 보낼 수 있는지 확인하십시오.

TelephonyManager manager = (TelephonyManager) context 
     .getSystemService(Context.TELEPHONY_SERVICE); 
if (manager.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE) { 
    // I guess here are devices that are unable to send SMS 
} else { 
    // can send SMS 
} 

가 TelephonyManager.PHONE_TYPE_NONE이 사실, 장치가되어 SMS를 보낼 수 없습니다? "Phone radio가 없습니다."라는 TelephonyManager.PHONE_TYPE_NONE에 대한 설명을 이해할 수 없습니다.

감사합니다.

+1

에 체크 아웃 : HTTP : //stackoverflow.com/questions/3814258/what-is-the-procedure-to-detect-if-an-android-device-has-sms-send-capability –

답변

2

으로 전화 걸기 .PHONE_TYPE_NONE SMS를 보낼 수 없습니다. SMS를 보내려면 무선 네트워크가 필요합니다. 그러나 당신은 eBuddy는 그들에, 응용 프로그램이 뭐죠 같은 일부 IP 기반 메신저를 사용할 수 있습니다

당신이 android.hardware.telephony가 (당신이-기능을 사용합니다 태그 안드로이드 매니페스트 파일을 를 사용하여 지정하는), 읽기/전송 알 보면/쓰기 SMS는이 기능에서 언급됩니다.

Galaxy TAB example,Can't make calls still phone type comes as PHONE_TYPE_CDMA

, 그래서 위의 링크

+0

알았어, 됐어, 고마워! –

+2

라인 번호를 테스트하지 마십시오. 일부 네트워크 운영자는이를 금지합니다. Vodafone 네트워크가있는 내 전화 번호는 빈 줄 번호이며 SMS를 보낼 수 있습니다. SMS 인 텐트를 만들고이를 처리 할 응용 프로그램이 있으면 찾아보십시오. – Pihhan

2

를 사용하여 다음 코드와 같이, 수 같은 경우에 필요합니다 라인에 대한 추가 검사를 추가 :

Boolean canSendSMS (Context context) 
{ 
PackageManager pm = context.getPackageManager(); 
return (pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY) || pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY_CDMA)) 
} 
관련 문제