Android手機上監聽簡訊的兩種方式

2021-08-25 15:01:39 字數 4535 閱讀 7276

日期: 2010/08/10

**:

android 手機上監聽簡訊有兩種方式:

1、

接受系統的簡訊廣播,操作簡訊內容。

優點:操作方便,適合簡單的簡訊應用。

缺點:來信會在狀態列顯示通知資訊。

androidmanifest.xml :

<

uses-permission

android:name

="android.permission.send_sms"

>

uses-permission

>

<

uses-permission

android:name

="android.permission.receive_sms"

>

uses-permission

>

<

receiver

android:name

=".sms.smsreceiver"

>

<

intent-filter

>

<

action

android:name

="android.provider.telephony.sms_received"

/>

intent-filter

>

receiver

>

code :

packageorg.anymobile.demo.sms;

importandroid.content.broadcastreceiver;

importandroid.content.context;

importandroid.content.intent;

importandroid.telephony.gsm.smsmessage;

importandroid.util.log;

publicclasssmsreceiverextendsbroadcastreceiver }

} publicfinalsmsmessage getmessagesfromintent(intent intent)

bytepdus =newbyte[pduobjs.

length

];intpducount = pdus.

length

; smsmessage msgs =newsmsmessage[pducount];

for(inti = 0; i < pducount; i++)

returnmsgs; }

} 2、

應用觀察者模式,監聽簡訊資料庫,操作簡訊內容。

優點:可以攔截來信在狀態列的顯示通知,適合作簡訊攔截。

缺點:可以發展成 mu ,在後台悄悄的收 / 發簡訊。

例項如下:

systemeventreceiver :收到開機啟動 ok 的廣播後,啟動 bootservice 服務;收到應用傳送簡訊的 intent 後,呼叫系統介面傳送簡訊

bootservice :開啟服務後,開啟簡訊***

smsobserver :資料觀察者,監聽簡訊資料庫

smshandler :簡訊處理器

androidmanifest.xml :

<

uses-permission

android:name

="android.permission.read_sms"

>

uses-permission

>

<

uses-permission

android:name

="android.permission.write_sms"

>

uses-permission

>

<

service

android:name

=".bootservice"

android:label

= >

<

intent-filter

>

<

action

android:name

="org.anymobile.test.service.imichat"

/>

<

category

android:name

="android.intent.category.default"

/>

intent-filter

>

service

>

<

receiver

android:name

=".systemeventreceiver"

>

<

intent-filter

>

<

action

android:name

="android.intent.action.boot_completed"

/>

intent-filter

>

receiver

>

code :

packageorg.anymobile.demo.sms;

importandroid.content.contenturis;

importandroid.content.context;

importandroid.content.intent;

importandroid.net.uri;

importandroid.os.handler;

importandroid.os.message;

importandroid.util.log;

publicclasssmshandlerextendshandler

publicvoidhandlemessage(message message) }

packageorg.anymobile.demo.sms;

importandroid.content.contentresolver;

importandroid.database.contentobserver;

importandroid.database.cursor;

importandroid.os.handler;

importandroid.os.message;

importandroid.util.log;

publicclasssmsobserverextendscontentobserver

{publicstaticfinalstring

tag =

"smsobserver";

privatestaticfinalstring

projection

=newstring

{ sms.

_id ,

//0 sms.

type

,//1

sms.

address

,//2

sms.

body

,//3

sms.

date

Android手機上的Logcat

最近開發電池方面的軟體,有時需要測試usb線被拔下後軟體的狀態,但是一旦拔下了,就看不到logcat的輸出,還好,自己能夠寫乙個手機上的logcat,那樣即使拔下了usb線,也能隨時看。簡介如果您是android程式設計師,您一定離不開logcat,但測試總會遇到一些不能連線usb資料線的時候,怎麼...

監聽Android手機的呼叫狀態

telephonymanager作為乙個service介面提供給使用者查詢 相關的內容,比如imei,linenumber1等。通過下面的 即可獲得telephonymanager的例項。telephonymanager mtelephonymgr telephonymanager this get...

在android手機上執行adb

本篇是 小公尺2s android 4.1.1 miui 5裝置上執行adb的過程中遇到的問題的記錄,供以後參考。1.emulator 5554 offline 手機上有個adb命令,system bin adb,版本是1.0.31。adb start server啟動服務,用adb devices...