Giải thích một số vấn đề về BroadcastReceiver:
-
-
I. Xây dựng ứng dụng nhận tin nhắn SMS gởi đến.
1. Tệp tin AndroidManifest.xml:
Thêm dòng:
2. Mã nguồn IncomingSms.java:
Kết quả demo:
Download mã nguồn dự án:
https://drive.google.com/file/d/0B8tAQ0_sJKCSQkdIOF95WW9lSFE/view?usp=sharing
II. Xây dựng ứng dụng đọc tất cả nội dung tin nhắn trong điện thoại (có thể dùng xử lý tin nhắn bầu chọn):
Link download ví dụ này:
https://drive.google.com/file/d/0B8tAQ0_sJKCSbExxZWs2NVg2Zmc/view?usp=sharing
-
-
I. Xây dựng ứng dụng nhận tin nhắn SMS gởi đến.
1. Tệp tin AndroidManifest.xml:
Thêm dòng:
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<application <activity .... <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name="broad.hkh.com.broadcastreciversms.IncomingSms"> <intent-filter> <action android:name="android.provider.Telephony.SMS_RECEIVED"/> </intent-filter> </receiver> </application>
2. Mã nguồn IncomingSms.java:
package broad.hkh.com.broadcastreciversms;
import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.telephony.SmsManager; import android.telephony.SmsMessage; import android.util.Log; import android.widget.Toast; /** * Created by hieu.truongvan on 20/1/2016. */ public class IncomingSms extends BroadcastReceiver { SmsManager sms = SmsManager.getDefault(); @Override public void onReceive(Context context, Intent intent) { Bundle bundle = intent.getExtras(); String smsReceiver = ""; try { if (bundle != null) { Object[] pdusObj = (Object[]) bundle.get("pdus"); for(int i = 0; i < pdusObj.length; i++) { SmsMessage smsMessage = SmsMessage.createFromPdu((byte[])pdusObj[i]); String senderNumber = smsMessage.getDisplayOriginatingAddress(); String smsBody = smsMessage.getDisplayMessageBody(); Log.i("SMS Receiver", "sender:" +senderNumber + ", content:" + smsBody); smsReceiver += senderNumber + smsBody; } Toast.makeText(context,"Tin nhắn:" + smsReceiver, Toast.LENGTH_LONG).show(); } } catch (Exception e) { Log.i("Error SmsReceiver", "Error " + e); } } } |
Kết quả demo:
Download mã nguồn dự án:
https://drive.google.com/file/d/0B8tAQ0_sJKCSQkdIOF95WW9lSFE/view?usp=sharing
II. Xây dựng ứng dụng đọc tất cả nội dung tin nhắn trong điện thoại (có thể dùng xử lý tin nhắn bầu chọn):
Link download ví dụ này:
https://drive.google.com/file/d/0B8tAQ0_sJKCSbExxZWs2NVg2Zmc/view?usp=sharing