2017-06-14 142 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應用程序。