设置为默认短信应用四个步骤

 <!-- 具备短信默认应用条件 ① -->
               <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>

 <!-- 具备短信默认应用条件 ②-->
              <!-- BroadcastReceiver that listens for incoming SMS messages -->
              <receiver
                  android:name=".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=".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>

              <!-- 具备短信默认应用条件 ④ -->
              <!-- Service that delivers messages from the phone "quick response" -->
              <service
                  android:name=".HeadlessSmsSendService"
                  android:exported="true"
                  android:permission="android.permission.SEND_RESPOND_VIA_MESSAGE">
                  <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>

 

 

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

 

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);
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值