1.利用反射(无弹框)

```java
public static final String CLASS_SMS_MANAGER = "com.android.internal.telephony.SmsApplication";
public static final String METHOD_SET_DEFAULT = "setDefaultApplication";
private void setDefaultSmsApplication(String packageName) {
    Log.d(TAG, "setDefaultApplication: " + packageName);
    try {
        Class<?> smsClass = Class.forName(CLASS_SMS_MANAGER);
        Method method = smsClass.getMethod(METHOD_SET_DEFAULT, String.class, Context.class);
        method.invoke(null, packageName, this);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
```

2.有弹框的方式

```java
private void setDefaultSmsApplication() {
    String packageName = getPackageName();
    if (!Telephony.Sms.getDefaultSmsPackage(this).equals(packageName)) {
        Intent intent = new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);
        intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, packageName);
        startActivity(intent);
    }
}
```

参考博客:

https://blog.csdn.net/qq_33829413/article/details/81354728

更多相关文章

  1. Android(安卓)WebView 图片自适应屏幕宽度
  2. Android利用反射获取状态栏(StatusBar)高度
  3. Android(安卓)显示网页图片
  4. 【代码】利用Android的Log 演示一个activity的生命周期
  5. Android动态添加布局
  6. Android: 如何实现 in_app purchase
  7. PHP 即将来到 Google Android?
  8. Android应用于军事制造业,开放性优势受青睐
  9. Android利用shape画虚线

随机推荐

  1. android 9.0 car的相关原生编译脚本配置
  2. 关于Android的nodpi,xhdpi,hdpi,mdpi,ldp
  3. android native ndk崩溃定位
  4. Android logcat详细用法
  5. Android艺术开发探索——第二章:IPC机制(下
  6. androidjunit test基本知识(一)
  7. MonoDroid架起.NET与Android之间的桥梁
  8. Eclipse中编译Android工程时出现的问题解
  9. Android——横竖屏切换以及数据保存
  10. Android matrix偏移(平移),旋转,缩放,倾斜的