无法在Android中使用Dual Sim手机发送短信

问题描述:

我正在开发向客户发送短信的Android应用程序,我在Android 5.1.1上使用了Sony XPERIA T2 Ultra Dual。无法在Android中使用Dual Sim手机发送短信

这是我的代码:

  SmsManager smsManager 
        = SmsManager 
         .getSmsManagerForSubscriptionId(subscriptionId); 

      smsManager.sendTextMessage(sms.getNumber(), null, 
             sms.getContent(), sentPI, deliveredPI); 

的消息位于消息应用程序,但它们标记为未发送。 我一直试图添加消息中心号作为scAddress参数,但它不起作用。 我在*中测试了所有的解决方案,但没有任何工作。 任何人有想法?

谢谢!

+0

http://*.com/questions/27351936/how-to-send-a -sms-using-smsmanager-in-dual-sim-mobile – sadat

+0

你有没有在android权限管理器中允许你的应用程序处理和发送短信的权限? –

+0

是的!我做了所有,但没有任何作品 –

最后我找到了解决方案。

我的应用程序清单是这样的:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.SEND_SMS" /> 
<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 
<uses-permission android:name="android.permission.RECEIVE_SMS" /> 

但它也必须有这样的:

<uses-permission-sdk-23 android:name="android.permission.READ_PHONE_STATE"/> 
<uses-permission-sdk-23 android:name="android.permission.RECEIVE_SMS"/> 
<uses-permission-sdk-23 android:name="android.permission.SEND_SMS"/> 
<uses-permission-sdk-23 android:name="android.permission.INTERNET" /> 
<uses-permission-sdk-23 android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>