운영자는 전화 사용자에게 서비스 정보 메시지를 보낼 수 있습니다. 알림 창으로 나타납니다. 예를 들어 나의 통신 수는 매 통화마다 지출 된 돈과 왼쪽 돈을 보냅니다. 이를 위해이 서비스 정보를 사용합니다.Android에서 서비스 정보를 처리하는 방법
메시지를 처리 할 수있는 방법이 있습니까?
운영자는 전화 사용자에게 서비스 정보 메시지를 보낼 수 있습니다. 알림 창으로 나타납니다. 예를 들어 나의 통신 수는 매 통화마다 지출 된 돈과 왼쪽 돈을 보냅니다. 이를 위해이 서비스 정보를 사용합니다.Android에서 서비스 정보를 처리하는 방법
메시지를 처리 할 수있는 방법이 있습니까?
SMS 인 경우 (주변의 운영자에게 표시되는 경우).
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.example">
<uses-permission id="android.permission.RECEIVE_SMS" />
<application>
<receiver class="SMSApp">
<intent-filter>
<action android:value="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
</application>
</manifest>
을 그냥 android.content.IntentReceiver를 확장하고 다음과 같이 onIntentReceived 메소드를 구현 :
간단한은 매니페스트에 인 텐트 필터를 추가
public void onReceiveIntent(Context context, Intent intent) {
if (intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")) {
Bundle bundle = intent.getExtras();
if (bundle != null) {
SmsMessage[] messages = Telephony.Sms.Intents.getMessagesFromIntent(intent);
for (int i = 0; i < messages.length; i++) {
SmsMessage message = messages[i];
System.out.println("Received SMS from: "+message.getDisplayOriginatingAddress());
System.out.println(message.getDisplayMessageBody());
}
}
}
나는 생각 유사한 방법으로 USSD 서비스 파싱이 진행 중입니다. USSD 답신을 분석하는 클래스를 살펴보십시오 : http://codepaste.ru/7545/. 이게 당신을 도울 수 있기를 바랍니다. 행운을 빕니다!
나는이 수업을 들었다. 그러나 IsFound()는 항상 거짓입니다. 서비스 정보 메시지를 받으면 OK 대화 상자로 나타납니다. 그래서 OK 버튼을 누를 때까지는 아무 것도 사용할 수 없습니다. 나는 그것이 ussd 답장인지 확실하지 않습니다. –
logcat을 실행하고이 대화 상자가 나타나면 어떻게되는지보십시오. logcat -b main – Yury
"logcat -v time -b main PhoneUtils : D"는 빈 문자열을 반환합니다. 실제 장치에서. –
너보다. 그러나 그들은 SMS가 아닙니다. 서비스 통지입니다. 나는 그들을 어떻게 다룰 줄 몰랐다. –