场景:

手机中有两张卡时,如何选择由哪张卡发送短信

实现代码:

private void sendMessage() {        String SEND = "sms_send";        PendingIntent send_intent = PendingIntent.getBroadcast(this, 0, new Intent(SEND), 0);        registerReceiver(new BroadcastReceiver() {            @Override            public void onReceive(Context context, Intent intent) {                switch (getResultCode()) {                    case Activity.RESULT_OK:                        //succeed                        break;                    default:                        //failed                        break;                }            }        }, new IntentFilter(SEND));        try{            SmsManager sms = SmsManager.getDefault();            Class smClass = SmsManager.class;            //通过反射查到了SmsManager有个叫做mSubId的属性            Field field = smClass.getDeclaredField("mSubId");            field.setAccessible(true);            field.set(sms,1);//0:默认卡1发送;1:默认卡2发送            sms.sendTextMessage("13168765085", null, "hello", send_intent, null);        }catch (Exception e) {            e.printStackTrace();        }    }

发送短信权限添加

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

更多相关文章

  1. android取得手机屏幕大小DisplayMetrics的核心代码
  2. Android代码分析
  3. Android源代码在线浏览网站列表
  4. android代码编写布局和控件
  5. Android 隔一段时间重复执行某代码
  6. [CSDN]Android系统进程Zygote启动过程的源代码分析
  7. Android有用代码片段(二)
  8. Android 代码当中动态改变某个控件的位置

随机推荐

  1. Android面试题集(含答案)
  2. Android常用类库
  3. Android音频可视化开发案例说明
  4. Android应用添加(创建)和删除及判断是否
  5. Android Activity 界面切换动画
  6. 内存优化之android:largeHeap
  7. Android中的ping网络实现
  8. android LayoutInflater、setContentView
  9. Android SpannableString和SpannableStri
  10. Android NDK Log信息打印