» 首頁 » 討論區 » Android程式設計 »抓取特定簡訊中的文字

抓取特定簡訊中的文字

發表人: 小青蛙
積分: 6
發表時間: 2012-01-25 16:34:12
我在寫一個android互動小遊戲

遊戲會發送編碼過的簡訊給對方

我要如何判定這種簡訊的並讀取內容?
發表人: Seachaos
積分: 2432
發表時間: 2012-01-25 18:25:40
你可以透過Broadcast來取得簡訊的內文


[sea:javaCode]
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals(SMS_Action)){
Bundle bundle = intent.getExtras();
if (bundle != null) {
Object[] pdus = (Object[]) bundle.get("pdus");
SmsMessage[] messages = new SmsMessage[pdus.length];
for (int i = 0; i < pdus.length; i++)
messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
for (SmsMessage message : messages) {
String msg = message.getMessageBody();
String to = message.getOriginatingAddress();
}
}
}
}
[/sea]

記得要註冊你的Broadcast Receiver在你的AndroidManifest.xml內 (smsReceiver看你要怎麼建立)
[sea:javaCode]
<receiver android:name=".smsReceiver">
<intent-filter>
<category android:name="android.intent.category.DEFAULT"></category>
<action android:name="android.provider.Telephony.SMS_RECEIVED"></action>
</intent-filter>
</receiver>
[/sea]