Android 6.0以上进行垃圾短信屏蔽-需要设置广播软件为默认系统软件

要设为系统默认的短信应用首先要配置一下AndroidManifest.xml文件,添加下列:

<!-- BroadcastReceiver that listens for incoming SMS messages —>



</intent-filter>

<!-- BroadcastReceiver that listens for incoming MMS messages —>




</intent-filter>

<!-- Activity that allows the user to send new SMS/MMS messages —>










</intent-filter>

<!-- Service that delivers messages from the phone “quick response” —>








</intent-filter>

其中ComposeSmsActivity.activity可以作为启动的Activity,我的是将Main.activity作为启动Activity的,那就要用Main.activity代替ComposeSmsActivity.activity了,如下:

至于SmsReceiver,MmsReceiver还继承BroadcastReceiver的广播,HeadlessSmsSendService是继承Service的服务,把这几个文件创建出来就可以了,暂时不用做什么操作 设为系统默认短信的关键在ComposeSmsActivity.activity中,如下:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
String defaultSmsApp = null;
  String currentPn = getPackageName();//获取当前程序包名
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT)
{
defaultSmsApp = Telephony.Sms.getDefaultSmsPackage(this);//获取手机当前设置的默认短信应用的包名
}
if (!defaultSmsApp.equals(currentPn)) {
Intent intent = new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);
intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, currentPn);
startActivity(intent);
}
}

(っ•̀ω•́)っ✎⁾⁾ 坚持技术学习、内容输出与分享,您的支持将鼓励我继续创作!(*/ω\*)
( • ̀ω•́ )✧如有疑问或需要技术讨论,请留言或发邮件到 aclearzhang@qq.com.(*・ω< ) 
  • 本文作者:: AClearZhang
  • 本文链接:: 908.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!