a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁(yè) > 系統(tǒng) > Android > 正文

Android中監(jiān)聽(tīng)短信的兩種方法

2020-04-11 11:34:42
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

1、監(jiān)聽(tīng)廣播

缺點(diǎn),因?yàn)閮?yōu)先級(jí)的原因可能接收不到。

代碼:

public static final String TAG = "ImiChatSMSReceiver";  public static final String SMS_RECEIVED_ACTION = "android.provider.Telephony.SMS_RECEIVED";  public void onReceive(Context context, Intent intent)  {    if (intent.getAction().equals(SMS_RECEIVED_ACTION))    {      SmsMessage[] messages = getMessagesFromIntent(intent);      for (SmsMessage message : messages)      {        String text = message.getOriginatingAddress() + " : " +        message.getDisplayOriginatingAddress() + " : " +        message.getDisplayMessageBody() + " : " +        message.getTimestampMillis();        String num = message.getOriginatingAddress();        Log.i(TAG, "-------------" + text);        Toast.makeText(context, text, Toast.LENGTH_LONG).show();        sendMessage(num, "來(lái)自" + num + "的短信已經(jīng)收到", context);        context.getContentResolver().registerContentObserver(Uri.parse("content://sms/"), true, new SmsObserver(new Handler(), context));      }    }  }  public void sendMessage(String num, String text, Context context)  {    SmsManager smsManager = SmsManager.getDefault();    PendingIntent sentIntent = PendingIntent.getBroadcast(context, 0, new Intent(), 0);    String strContent = text;    smsManager.sendTextMessage(num, null, strContent, sentIntent, null);    TelephonyManager tl = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);    int itype = tl.getPhoneType();    Log.i(TAG, "-------------" + "當(dāng)前卡類(lèi)型為:" + itype);    if (itype == TelephonyManager.PHONE_TYPE_GSM)    {      Toast.makeText(context, "當(dāng)前卡類(lèi)型為:GSM", Toast.LENGTH_LONG).show();    }    else if (itype == TelephonyManager.PHONE_TYPE_CDMA)    {      Toast.makeText(context, "當(dāng)前卡類(lèi)型為 : CDMA", Toast.LENGTH_LONG).show();    }    else if (itype == TelephonyManager.PHONE_TYPE_NONE)    {      Toast.makeText(context, "當(dāng)前卡類(lèi)型為:NONE", Toast.LENGTH_LONG).show();    }  }  public final SmsMessage[] getMessagesFromIntent(Intent intent)  {    Object[] messages = (Object[]) intent.getSerializableExtra("pdus");    byte[][] pduObjs = new byte[messages.length][];    for (int i = 0; i < messages.length; i++)    {      pduObjs[i] = (byte[]) messages[i];    }    byte[][] pdus = new byte[pduObjs.length][];    int pduCount = pdus.length;    SmsMessage[] msgs = new SmsMessage[pduCount];    for (int i = 0; i < pduCount; i++)    {      pdus[i] = pduObjs[i];      msgs[i] = SmsMessage.createFromPdu(pdus[i]);    }    return msgs;  }



2、采用觀察方法,監(jiān)聽(tīng)短信數(shù)據(jù)庫(kù)

public class SmsObserver extends ContentObserver{  private Context mContext;  public SmsObserver(Handler handler , Context context)  {    super(handler);    mContext = context;  }    public void onChange(boolean selfChange)   {     super.onChange(selfChange);     Cursor cursor =null;     try    {      //讀取收件箱中的短信       cursor = mContext.getContentResolver().query(Uri.parse("content://sms/inbox"), null, null, null, "date desc");       String body;      boolean hasDone =false;      if (cursor !=null)      {         while (cursor.moveToNext())        {          body = cursor.getString(cursor.getColumnIndex("body"));          if(body !=null)//&& body.equals("【startMyActivity】"          {            hasDone =true;            break;          }          if (hasDone)          {            break;          }        }       }     }    catch(Exception e)    {      e.printStackTrace();    }    finally    {      if(cursor!=null)    cursor.close();    }  }}


用到的權(quán)限:

<uses-permission android:name="android.permission.SEND_SMS" />  <uses-permission android:name="android.permission.RECEIVE_SMS" />  <uses-permission android:name="android.permission.READ_SMS" />

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产精品视频久久 | 欧美性猛交久久久乱大交小说 | 黄色一级在线观看 | 在线视频一区二区三区 | 日本不卡一区二区 | 91激情视频 | 国产精品久久久久久久 | 日本xxxx96| 韩国三级中文字幕hd久久精品 | 久久成人国产精品入口 | 精品9999| 成人av免费在线观看 | 精品www| 欧美精品xxx | 中文字幕一区二区三 | 美日韩精品视频 | 亚洲午夜精品一区二区三区他趣 | 天天澡天天狠天天天做 | 大陆一级毛片免费看 | 亚洲综合色视频在线观看 | 亚洲成人精品一区二区三区 | 亚洲国产精品一区二区久久 | 日韩一区二区三区在线看 | 中文字幕在线乱码不卡二区区 | 国产精品久久久久aaaa九色 | 国产精品久久久久久久久 | 高清一区二区三区 | 久久久久久久久久影院 | 国产精品二区一区二区aⅴ污介绍 | 一区二区视频网站 | 国产欧美精品一区二区色综合 | 亚洲色图网站 | 91性高湖久久久久久久久_久久99 | 成人免费视频观看 | 国产wwwcom| 综合激情av | 国产高清一二三区 | 色小妹一二三区 | 久草新免费 | 毛片久久| 四虎影视库 |