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

<!-- BroadcastReceiver that listens for incoming SMS messages --><receiver android:name=".demo.SmsReceiver"android:permission="android.permission.BROADCAST_SMS"><intent-filter><action android:name="android.provider.Telephony.SMS_DELIVER" /></intent-filter></receiver><!-- BroadcastReceiver that listens for incoming MMS messages --><receiver android:name=".demo.MmsReceiver"android:permission="android.permission.BROADCAST_WAP_PUSH"><intent-filter><action android:name="android.provider.Telephony.WAP_PUSH_DELIVER" /><data android:mimeType="application/vnd.wap.mms-message" /></intent-filter></receiver><!-- Activity that allows the user to send new SMS/MMS messages --><activity android:name=".demo.ComposeSmsActivity" ><intent-filter><action android:name="android.intent.action.SEND" /><action android:name="android.intent.action.SENDTO" /><category android:name="android.intent.category.DEFAULT" /><category android:name="android.intent.category.BROWSABLE" /><data android:scheme="sms" /><data android:scheme="smsto" /><data android:scheme="mms" /><data android:scheme="mmsto" /></intent-filter></activity><!-- Service that delivers messages from the phone "quick response" --><service android:name=".demo.HeadlessSmsSendService"android:permission="android.permission.SEND_RESPOND_VIA_MESSAGE"android:exported="true" ><intent-filter><action android:name="android.intent.action.RESPOND_VIA_MESSAGE" /><category android:name="android.intent.category.DEFAULT" /><data android:scheme="sms" /><data android:scheme="smsto" /><data android:scheme="mms" /><data android:scheme="mmsto" /></intent-filter></service>

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

 <activity android:name=".demo.MainActivity"><intent-filter><action android:name="android.intent.action.MAIN"/><category android:name="android.intent.category.LAUNCHER"/><action android:name="android.intent.action.SEND" /><action android:name="android.intent.action.SENDTO" /><category android:name="android.intent.category.BROWSABLE" /><data android:scheme="sms" /><data android:scheme="smsto" /><data android:scheme="mms" /><data android:scheme="mmsto" /></intent-filter>
</activity>

至于SmsReceiver,MmsReceiver还继承BroadcastReceiver的广播,HeadlessSmsSendService是继承Service的服务,把这几个文件创建出来就可以了,暂时不用做什么操作

设为系统默认短信的关键在ComposeSmsActivity.activity中,如下:

 @Overrideprotected 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);}
 }

好了,设置系统默认的短信应用就好了!

转载于:https://www.cnblogs.com/IT-Goddess/p/5702516.html

Android设为系统默认的短信应用相关推荐

  1. Android实现拨打电话和发送短信,Android手机拨打电话、手动发送短信与自动拨打电话、自动发送短信(代码很简单哦)...

    Android实现手动拨打电话,即点击后跳转到手机默认电话号码输入页面,可以将相应号码传送过去: Intent intent = new Intent(Intent.ACTION_DIAL, Uri. ...

  2. Android系统开发:短信的号码拦截

    Android系统开发:短信的号码拦截 Code:Android源码 功能要求:针对某号码,短信的接收与发送的监听与拦截. 设备对该号码发送短信的拦截 实现思路 : 应用发送短信(无论是否是默认短信) ...

  3. android不调用系统发送短信,android之两种方式调用短信发送接口

    释放双眼,带上耳机,听听看~! 相信很多程序员在开发程序的时候都会遇到短信调用端口的情况,今天是技术狗小编为大家带来的关于android之两种方式调用短信发送接口,希望对你学习这方面知识有帮助! an ...

  4. UltData for Android for Mac如何在Android上恢复已删除的短信

    如何在Android上恢复已删除的短信 虽然WhatsApp和其他聊天信使接管了Android手机的默认短信,但仍然有一些非常重要的信息是通过短信从公司或朋友那里收到的.这就是这些短信仍然有价值的原因 ...

  5. Android从普通发送和接收短信到对短信进行拦截

    概述: 说实话,关于Android中对短信的一些相关操作是一个比较入门的东西.那我现在还要来写这一篇博客的原因只是因为现在开发中有相关内容,而又想将这些东西分享给更多的人来学习,同时在以后对Andro ...

  6. android 短信位置,浅析Android手机卫士之手机实现短信指令获取位置

    推荐阅读: 获取位置 新建一个service的包 新建一个GPSService类继承系统的Service类 清单文件中注册一下 重写onCreate()方法,服务创建的时候回调 重写onDestroy ...

  7. android 发短信意图,android代码实现打电话和发送短信功能

    android代码实现打电话和发送短信功能 发布时间:2020-05-27 11:57:17 来源:亿速云 阅读:172 作者:鸽子 1.XML布局 xmlns:app="http://sc ...

  8. 医院信息化系统HIS接入短信功能的流程及注意事项

    数字化医院信息系统的一些使用场景,如移动医嘱.康复跟踪.短信挂号.病患关怀.体检结果.信息化办公等,都需要用到短信或者语音通知与相关人员进行信息推送,医院信息化系统HIS接入短信接口后,可极大的提升用 ...

  9. Android 短信模块分析(四) MMS之短信的发送与接收

     MMS之短信的发送与接收分析: 一.信息发送: com.android.mms.data.WorkingMessage.java 类 send()函数: public void send() { . ...

最新文章

  1. android 百度地图zoomtospan,android百度地图:MapController
  2. 【Linux】一步一步学Linux——gpasswd命令(90)
  3. 装饰者模式的应用场景
  4. yarn.lock 文件和 yarn install
  5. 使用 InSpec 实现符合性即代码
  6. z变换解差分方程例题_某些常见微分方程的一般解法(工具向)
  7. 雇佣黑客组织利用 3Ds Max 恶意软件攻击全球企业
  8. 全员远程办公,半年入 1 亿美元:GitHub 的最大竞争对手上市了
  9. PHP写评论模块,uchome2.0 日志评论模块分析(php代码及js代码分析)
  10. 如何在网页中播放音乐和视频
  11. 撩妹代码html,Web前端
  12. IOS APP程序发布IPA以及发布上传到AppStore
  13. ros手柄控制机器人小车(一)
  14. 【计算机网络】Shannon公式与Nyquist定理
  15. 基于版面排版设计的一个新闻类网站构建
  16. usb与 hid, 串口 趣谈
  17. 运维专家写给年轻运维的6条人生忠告
  18. 一种靠加热内部空间达到超光速飞行的机器
  19. Arrays和数组的转换
  20. 剑指Offer——如何做好自我介绍

热门文章

  1. java布类型的常量,java数据类型;常量与变量;
  2. jcreator把class字节码文件转成.java源文件_如何将.JAVA文件编译成.CLASS文件.说明方法和工具,或用JCreator如何操作?...
  3. java迷宫类编程题_第十届蓝桥杯省赛java类B组 试题 E:迷宫 (动态规划之回溯法)...
  4. mysql查询hash分区数据_mysql分区管理 - hash分区
  5. 变位齿轮重合度计算公式_渐开线圆柱齿轮传动的重合度计算.pdf
  6. 小程序表单提交,服务端推送模板消息通知
  7. 微信 html关闭当前页
  8. easyui下拉框用法
  9. 加密芯片在水电气表行业内的应用
  10. EXCEL根据条件随机内插若干行及对应数据