[Android]通過廣播讀取簡訊
此例項實現功能為通過接收廣播讀取簡訊
實現很簡單,但使用到了廣播接受者,以免遺忘在此記錄:
程式碼
- AndriodMainfest檔案
申明許可權
<uses-permission android:name="android.permission.RECEIVE_SMS" >
</uses-permission>
配置廣播
<receiver android:name="activity.SMSBroadcastReceiver">
<intent-filter android:priority ="999">
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
- BroadcastReceiver檔案
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
public class SMSBroadcastReceiver extends BroadcastReceiver{
//指定動作的名稱
public static final String ACTION = "android.provider.Telephony.SMS_RECEIVED";
@Override
public void onReceive(Context context, Intent intent) {
if (ACTION.equals(intent.getAction())) {
//根據接收到的意圖物件獲取簡訊
SmsMessage[] msgs = getMessageFromIntent(intent);
//提取簡訊內容
StringBuilder sBuilder = new StringBuilder();
if (msgs != null && msgs.length > 0 ) {
for (SmsMessage msg : msgs) {
sBuilder.append("接收到了簡訊:\n發件人是:");
sBuilder.append(msg.getDisplayOriginatingAddress());
sBuilder.append("\n------簡訊內容-------\n");
sBuilder.append(msg.getDisplayMessageBody());
}
}
System.out.println(sBuilder.toString());
}
}
//從意圖獲取簡訊物件的具體方法
public static SmsMessage[] getMessageFromIntent(Intent intent) {
SmsMessage retmeMessage[] = null;
Bundle bundle = intent.getExtras();
Object pdus[] = (Object[]) bundle.get("pdus");
retmeMessage = new SmsMessage[pdus.length];
for (int i = 0; i < pdus.length; i++) {
byte[] bytedata = (byte[]) pdus[i];
retmeMessage[i] = SmsMessage.createFromPdu(bytedata);
}
return retmeMessage;
}
}
相關推薦
[Android]通過廣播讀取簡訊
此例項實現功能為通過接收廣播讀取簡訊 實現很簡單,但使用到了廣播接受者,以免遺忘在此記錄: 程式碼 AndriodMainfest檔案 申明許可權 <uses-permission android:name="android.pe
android 通過廣播來彈出dialog(在小米上會一閃而過的原因)
最近又學了一些android 的基礎知識廣播,之前因為一直沒有用到所以就沒怎麼重視,在接觸一些大牛們的專案原始碼後,發現廣播確是蠻有用的。 於是自己就翻閱了幾本書和幾個相關視訊,仿照著寫了一個基本功能的測試app,功能大致是點選一個介面上的按鈕會發送一個廣播,在xml檔案中
Android通過廣播監測Wi-Fi和行動式熱點開關狀態
前言 Android端通過廣播的形式動態監測Wi-Fi狀態以及行動式熱點開關狀態,其中獲取Wi-Fi狀態很簡單,網上很多示例,但是通過廣播獲取熱點開關狀態相關的資料少之又少,不過好在一個國外網站找到了解決辦法,在此分享給大家。 正文 直接看程式碼 pac
Android藍芽讀取簡訊調研
對“直接通過藍芽來獲取連線手機的簡訊資訊”這個需求做了一些技術調研,如下是調研過程中的一些記錄。 1、無法得到BluetoothMasClient類 在文章https://blog.csdn.net/u012439416/art
Android 利用廣播實現黑名單【指定號碼】的簡訊的攔截 附原始碼下載連結
Android 利用廣播實現指定號碼的簡訊的攔截 根據最近的學習內容,今天實現了利用廣播進行指定號碼的攔截 步驟: ①、寫一個數據庫的幫助類,實現對資料庫的建立,總共建立兩個資料庫psms(受保護的簡訊的資料庫)和protectedPhone(受保護的聯絡人資料庫),粘程式碼:
Android 通過UDP廣播建立Socket
前言:專案中遇到的實際問題,Android手機想要和區域網中的某個主機進行Socket通訊,但是Socket連線前卻無法獲知該主機的IP, 為了建立Socket,就需要Android手機在區域網內傳送UDP廣播,從而獲得目的主機的IP。 一、 關於 T
Android 2個Service實現相互保活,通過bindservice來實現,不通過廣播實現
1,實現原理:啟動2個Service,相互繫結監聽,當A Service監聽到連線斷開的時候,說明B服務可能被 Kill掉了,這時需要重新開啟A服務,同樣B服務的監聽斷掉了,重新啟動A服務。A,B兩個服務都是單獨的程序,需要使用AIDL來通訊。 2,A服務原始碼: public class
【Android】Service通過廣播更新UI
定義一個activity,在activity中定義一個內部廣播接收器,並且動態註冊該廣播接收器:package com.zzj.ui.serviceUpdateUIDemo; import andr
第92章、廣播之三通過廣播啟動服務(從零開始學Android)
Service(服務)在Android中地位是至關重要的,我們可以通過Activity與Broadcast(廣播)啟動Service(服務),我們本章學習如何通過廣播Broadcast啟動服務Service。 也許你會說,能用Activity啟動,幹嘛要用廣播呢?—
Android 通過註冊廣播,實時監聽網路連線與斷開狀態的變化
很多時候我們都需要實時監聽網路狀態,當網路狀態發生變化之後立即通知程式進行不同的操作。 監聽廣播的兩種方式: (1)在AndroidManifest.xml配置檔案中宣告 <receiver android:name=".NetworkConn
Android SMS —— 讀取簡訊 聯絡人
Android SMS Read [java] view plaincopyprint? package com.homer.sms; import java.sql.Date; import java.text.SimpleDateFormat
Android SMS(一) —— 讀取簡訊
Android SMS Read package com.homer.sms; import java.sql.Date; import java.text.SimpleDateFormat; import android.app.Activity; import
Android 採用廣播接收者實現簡訊應用
廣播接收者--BroadcastReceiver(實現簡訊應用) 原理:當系統收到簡訊時,會發出一個廣播Intent,Intent的action名稱為Android.provider.Telephony.SMS_RECEIVED,該Intent存放了系統收到的簡訊內容,
Android -- 利用ContentProvider 讀取和寫入簡訊
1. 讀寫簡訊 示例程式碼 均需要先獲得讀寫簡訊的許可權 <uses-permission android:name="android.permission.WRITE_SMS"/>
android 通過uri獲取圖片並根據限制大小讀取圖片的方法
uri = data.getData();BitmapFactory.Options options =newBitmapFactory.Options(); options.inJustDecodeBounds =true;try{Bitm
android 通過區域網udp廣播自動建立socket連線
android開發中經常會用到socket通訊。由於專案需要,最近研究了一下這方面的知識。 需求是想通過wifi實現android移動裝置和android平臺的電視之間的檔案傳輸與控制。 毫無疑問這中間一定需要用到socket來進行通訊。今天就兩臺裝置的握手連線方式分享一
Android中Activity和Service簡單互動(通過廣播機制)
package com.cwb; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; im
通過廣播獲取Android螢幕旋轉事件
Android獲取系統螢幕旋轉的方式有幾種,其中比較常見的是通過重寫Activity中的onConfigurationChanged方法,但是這種方法有個缺陷,當測試程式在後臺執行的時候不能
Android 通過讀取本地Arp表獲取當前區域網內其他裝置資訊
目的:獲取當前區域網內其他連線裝置的IP 和MAC資訊。 步驟: 1. 獲取本機wifi ip資訊; 2. 根據ip 去傳送ARP請求 3. 讀取本地ARP 表;
Android 通過SOCKET下載文件的方法
write 客戶端 length 路徑 tin private extends sta rep 本文實例講述了Android通過SOCKET下載文件的方法。分享給大家供大家參考,具體如下: 服務端代碼 import java.io.BufferedInputStre