2017-06-14 112 views
0

我能够从我的android应用程序发送时获得发送/接收SMS状态。 对于使用下面的代码发送,短信发送/发送状态从默认消息应用程序 - Android

SmsManager smsManager = SmsManager.getDefault(); 
smsManager.sendTextMessage(phoneNo, null, msg, sentIntent, deliveredIntent); 

其中,sentIntentdeliveredIntent挂起的意图

我可以得到短信发送/递送报告成功(如果从我的应用程序发送)。

但是,当我通过使用默认消息应用程序发送SMS时,BroadcastReceiver不会被调用。

我已经添加了以下过滤器对我的广播接收器类

<receiver android:name=".SMSBReceiver"> 
    <intent-filter android:priority="1000" > 
     <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
     <action android:name="android.provider.Telephony.SEND_SMS" /> 
</receiver> 
+0

你是否设置了短信权限? '<使用权限android:name =“android.permission.SEND_SMS”/>' –

+0

是的,我可以从我的应用程序发送短信。如果我使用默认消息应用程序发送短信,我希望获得发送回复 –

+0

如果从我的应用程序发送,也可以获得短信发送状态。然后,我如何获取默认消息应用程序短信传送报告。 –

回答

0

你不能发送的状态,从您的应用程序,如果SMS从默认短信应用发送。因为交付PendingIntent的接收器不会是您添加的接收器,而是它的默认SMS应用程序。