Android 双卡发送短信
2016-03-29 17:05
190 查看
场景:
手机中有两张卡时,如何选择由哪张卡发送短信实现代码:
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 Studio如何实现项目国际化
- android apk更新
- Android应用支持转移到SD卡
- Android NDK编程
- 如何向android的setting语言列表中添加一门语言
- Android 无线adb调试之所得!
- android graphic(16)—fence(简化)
- Android Studio : 导入第三方包
- Android开发,关于php服务器文件传输过程出现的问题:中文名文件名在url中的转换
- Android SlidingMenu菜单栏程序设计开发
- Android MediaPlayer 框架UML图
- Android SDK Manager 更新代理配置
- Android 命令生成签名keystore、ant编译打包流程
- EditText焦点问题
- 让你的Android项目更加整洁与清晰
- androidstudio使用问题---AidlTokenType
- Android高效ImageLoader的实现
- Widget
- Android应用进程间通信之Messenger信使使用及源码浅析
- Android中的跨进程通信的实现(一)——远程调用过程和aidl