最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android編程實現(xiàn)攔截短信并屏蔽系統(tǒng)Notification的方法

 更新時間:2015年12月14日 10:01:19   作者:傲慢的上校  
這篇文章主要介紹了Android編程實現(xiàn)攔截短信并屏蔽系統(tǒng)Notification的方法,較為詳細(xì)的分析了Android短信與Notification的原理及對應(yīng)的設(shè)置取消技巧,需要的朋友可以參考下

本文實例講述了Android編程實現(xiàn)攔截短信并屏蔽系統(tǒng)Notification的方法。分享給大家供大家參考,具體如下:

攔截短信有幾個關(guān)鍵點:

1.android接收短信時是以廣播的方式

2.程序只要在自己的Manifest.xml里加有"接收"SMS的權(quán)限

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

3.要寫個廣播接收類

public class smsreceiveandmask extends BroadcastReceiver {
  private String TAG = "smsreceiveandmask";
  @Override
  public void onReceive(Context context, Intent intent) {
}
public class smsreceiveandmask extends BroadcastReceiver {
  private String TAG = "smsreceiveandmask";
  @Overridepublic void onReceive(Context context, Intent intent) {} 

4.Manifest.xml的receiver標(biāo)簽里要加入intent-filter ,action為

<action android:name="android.provider.Telephony.SMS_RECEIVED" />
<action android:name="android.provider.Telephony.SMS_RECEIVED" />

5.重要的是要在這個intent-filter上加上priority優(yōu)先級,以使自己接收到SMS優(yōu)先于系統(tǒng)或其它軟件

<receiver android:name=".smsreceiveandmask" > 
      <intent-filter android:priority="1000">  
        <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
      </intent-filter> 
    </receiver> 
<receiver android:name=".smsreceiveandmask" >
<intent-filter android:priority="1000">
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>

6.當(dāng)自己的程序接收到要屏蔽的SMS后,用 this.abortBroadcast();來結(jié)束廣播的繼續(xù)發(fā)給別的程序,這樣系統(tǒng)就不會收到短信廣播了,Notification也不會有提示了

// 第三步:取消 
if (flags_filter) {
  this.abortBroadcast();
}
// 第三步:取消if (flags_filter) {this.abortBroadcast();}

源碼如下:

Manifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
  package="com.hwttnet.test.smsreceiveandmask" android:versionCode="1" 
  android:versionName="1.0">
  <uses-sdk android:minSdkVersion="3" />
  <uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
  <application android:icon="@drawable/icon" android:label="@string/app_name">
    <receiver android:name=".smsreceiveandmask" >
      <intent-filter android:priority="1000">
        <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
      </intent-filter>
    </receiver>
  </application> 
</manifest>

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.hwttnet.test.smsreceiveandmask" android:versionCode="1"android:versionName="1.0">
<uses-sdk android:minSdkVersion="3" />
<uses-permission android:name="android.permission.RECEIVE_SMS">
</uses-permission>
<application android:icon="@drawable/icon" android:label="@string/app_name">
<receiver android:name=".smsreceiveandmask" >
<intent-filter android:priority="1000">
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
</application>
</manifest>

BroadcastReceiver類:

package com.hwttnet.test.smsreceiveandmask;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.util.Log;
public class smsreceiveandmask extends BroadcastReceiver {
  private String TAG = "smsreceiveandmask";
  @Override
  public void onReceive(Context context, Intent intent) {
    Log.v(TAG, ">>>>>>>onReceive start");
    // 第一步、獲取短信的內(nèi)容和發(fā)件人
    StringBuilder body = new StringBuilder();// 短信內(nèi)容
    StringBuilder number = new StringBuilder();// 短信發(fā)件人
    Bundle bundle = intent.getExtras();
    if (bundle != null) {
      Object[] _pdus = (Object[]) bundle.get("pdus");
      SmsMessage[] message = new SmsMessage[_pdus.length];
      for (int i = 0; i < _pdus.length; i++) {
        message[i] = SmsMessage.createFromPdu((byte[]) _pdus[i]);
      }
      for (SmsMessage currentMessage : message) {
        body.append(currentMessage.getDisplayMessageBody());
        number.append(currentMessage.getDisplayOriginatingAddress());
      }
      String smsBody = body.toString();
      String smsNumber = number.toString();
      if (smsNumber.contains("+86")) {
        smsNumber = smsNumber.substring(3);
      }
      // 第二步:確認(rèn)該短信內(nèi)容是否滿足過濾條件
      boolean flags_filter = false;
      if (smsNumber.equals("10086")) {// 屏蔽10086發(fā)來的短信
        flags_filter = true;
        Log.v(TAG, "sms_number.equals(10086)");
      }
      // 第三步:取消
      if (flags_filter) {
        this.abortBroadcast();
      }
    }
    Log.v(TAG, ">>>>>>>onReceive end");
  }
}

希望本文所述對大家Android程序設(shè)計有所幫助。

相關(guān)文章

  • Android split分割特殊字符取名稱的方法

    Android split分割特殊字符取名稱的方法

    這篇文章主要為大家詳細(xì)介紹了Android split分割特殊字符取名稱的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Android繪圖技巧使用詳解

    Android繪圖技巧使用詳解

    這篇文章主要為大家詳細(xì)介紹了Android繪圖技巧的使用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • 基于Android week view仿小米和iphone日歷效果

    基于Android week view仿小米和iphone日歷效果

    這篇文章主要為大家詳細(xì)介紹了基于Android week view仿小米和iphone日歷效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Android實現(xiàn)省市區(qū)三級聯(lián)動

    Android實現(xiàn)省市區(qū)三級聯(lián)動

    這篇文章主要為大家詳細(xì)介紹了Android實現(xiàn)省市區(qū)三級聯(lián)動,Spinner實現(xiàn)省市區(qū)的三級聯(lián)動,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Android中音視頻合成的幾種方案詳析

    Android中音視頻合成的幾種方案詳析

    隨著音視頻領(lǐng)域的火熱,在很多領(lǐng)域(教育,游戲,娛樂,體育,跑步,餐飲,音樂等)嘗試做音視頻功能,下面這篇文章主要給大家介紹了關(guān)于Android中音視頻合成的幾種方案的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來一起看看吧。
    2017-12-12
  • android繪制圓形圖片的兩種方式示例

    android繪制圓形圖片的兩種方式示例

    本篇文章主要介紹了android繪制圓形圖片的兩種方式,具有一定的參考價值,有興趣的可以了解一下。
    2017-01-01
  • Android應(yīng)用中使用及實現(xiàn)系統(tǒng)“分享”接口實例

    Android應(yīng)用中使用及實現(xiàn)系統(tǒng)“分享”接口實例

    為了應(yīng)用的推廣、傳播,很多的應(yīng)用中都有“分享”功能,這篇文章主要介紹了Android應(yīng)用中使用及實現(xiàn)系統(tǒng)“分享”接口實例,有興趣的可以了解一下。
    2016-12-12
  • 實例講解Android應(yīng)用開發(fā)中Fragment生命周期的控制

    實例講解Android應(yīng)用開發(fā)中Fragment生命周期的控制

    這篇文章主要介紹了Android應(yīng)用開發(fā)中Fragment生命周期的控制,Fragment依賴于Activity,所以生命周期方面也受Activity的影響,需要的朋友可以參考下
    2016-02-02
  • Android中LayoutInflater.inflater()的正確打開方式

    Android中LayoutInflater.inflater()的正確打開方式

    這篇文章主要給大家介紹了關(guān)于Android中LayoutInflater.inflater()的正確打開方式,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • Android開發(fā) OpenGL ES繪制3D 圖形實例詳解

    Android開發(fā) OpenGL ES繪制3D 圖形實例詳解

    這篇文章主要介紹了Android開發(fā) OpenGL ES繪制3D 圖形實例詳解的相關(guān)資料,需要的朋友可以參考下
    2016-09-09

最新評論

墨竹工卡县| 梅河口市| 朝阳市| 天全县| 惠东县| 闽清县| 江城| 平凉市| 固原市| 潞西市| 蓝田县| 元谋县| 东平县| 河曲县| 大同县| 会同县| 太原市| 德阳市| 大同市| 宁陵县| 和政县| 平湖市| 兰州市| 泗阳县| 大埔区| 南平市| 南投市| 牡丹江市| 马山县| 勃利县| 通许县| 探索| 蛟河市| 文昌市| 晋宁县| 鄂温| 娱乐| 乡宁县| 双城市| 乌拉特后旗| 乐山市|