0
SMSを受信し、同じSMSを送信者に返信する次のコードを記述しました。 コードはエミュレータで完全に実行されていますが、モバイルでコードを実行するとSMSは送受信されません。アプリケーションはSMSを送受信しません
public class SmsReceiver extends BroadcastReceiver
{
public void onReceive(final Context context, Intent intent)
{
//---get the SMS message passed in---
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
String messageRecieved ="";
String result="";
if (bundle != null)
{
//---retrieve the SMS message received---
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i=0; i<msgs.length; i++)
{
msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
messageRecieved += msgs[i].getMessageBody().toString();
}
//---display the new SMS message---
Toast.makeText(context, "Sms Recieved: "+messageRecieved,
Toast.LENGTH_SHORT).show();
sms.sendTextMessage(sendersPhoneNumber, null, messageRecieved, null, null);
Toast.makeText(context, "Sms sent back to Sender With Requested Contacts"
,Toast.LENGTH_LONG).show();
私はマニフェストに適切な許可を与えて受信者を登録しました。 エミュレータでは正常に動作しますが、電話機では正常に動作しません。
トーストは表示されません。
これは役に立ちます[http://mobiforge.com/developing/story/sms-messaging-android](http://mobiforge.com/developing/story/sms-messaging-android) – NagarjunaReddy
まだそれはありません作業 –
ネイティブのアンドロイドメッセージングアプリを使用している携帯電話ですか、または他のサードパーティのアプリケーションを介して送信されたメッセージですか?それが第三者アプリケーションである場合、メッセージはコンテンツプロバイダをバイパスします。したがって、放送受信機は動作しません。 – user936414