Android 双卡发送短信
16lz
2021-01-23
场景:
手机中有两张卡时,如何选择由哪张卡发送短信
实现代码:
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>
更多相关文章
- android取得手机屏幕大小DisplayMetrics的核心代码
- Android代码分析
- Android源代码在线浏览网站列表
- android代码编写布局和控件
- Android 隔一段时间重复执行某代码
- [CSDN]Android系统进程Zygote启动过程的源代码分析
- Android有用代码片段(二)
- Android 代码当中动态改变某个控件的位置