2012-01-13 6 views
2

モバイルアプリでテキストメッセージが送信されることがあります。ほとんどの携帯電話で問題なく動作しますが、メッセージが届かないというメールを受信し始めています。SmsManagerを使用して一部のAndroid携帯端末でテキストメッセージを送信できない

SmsManager sms = SmsManager.getDefault(); 
sms.sendTextMessage("+12223334444", null, "test sms", null, null); 

を私はPendingIntentを使用する必要があることをどこかで読んだので、次のように私はそれを試してみました:

PendingIntent sentPI = PendingIntent.getBroadcast(context, 0, new Intent("SMS_SENT"), 0); 
PendingIntent deliveredPI = PendingIntent.getBroadcast(context, 0, new Intent("SMS_DELIVERED"), 0);      
SmsManager sm = SmsManager.getDefault(); 
sm.sendTextMessage(number, null, message, sentPI, deliveredPI); 

これまでのところ、私はのユーザーからのメールを頂いており、ここで私が使用していたコードですサムスンギャラクシーS II、スプリントエボシフト、サムスンサイドキックの携帯電話。

私は、これらの携帯電話の2のアプリ(私の友人)をテストして、テキストメッセージは、通常

+0

SmsManagerの完全なパッケージ名を提供できますか? – Selvin

+0

@Selvin - それは "android.telephony.SmsManager"から来た –

+0

マニフェストファイルにアクセス許可を入れましたか?

答えて

2

送信されたここでの問題は、あなたが処理していないということです、それは携帯電話の特定ではありませんのでご注意下さいまったく再試行します。 SMSが様々なカラフルな方法で送信に失敗する可能性があります。あなたは、のようなものを使用して送信されたPendingIntentを使用して、これらのイベントをリッスンすることができます

public void onReceive(Context context, Intent intent) { 
    if (getResultCode() != Activity.RESULT_OK) { 
     // failed to send the sms, see SmsManager.ERROR_<description> for more info on why 
    } 
} 

何が起こっている疑いがあることは、ユーザーがメッセージを送信する際にはシグナルを持っていないということですので、それは失敗し、再試行することはありません。これはまた、それがなぜデバイス特有でないのかを説明するでしょう。

関連する問題