您的位置:首页 > 移动开发 > Android开发

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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: