2012-10-20 9 views
7

、放送された結果の意図は、それらの一つ一つの意味は何5SmsManagerの結果エラーはどういう意味ですか?私は<code>SmsManager</code>を使用してSMSを送信すると

Activity.RESULT_OK 
SmsManager.RESULT_ERROR_GENERIC_FAILURE 
SmsManager.RESULT_ERROR_NO_SERVICE 
SmsManager.RESULT_ERROR_NULL_PDU 
SmsManager.RESULT_ERROR_RADIO_OFF 

の値を保持していますか?それぞれを生成する可能性のあるテストケースについて言及してください。 RESULT_OKは正常に送信されたSMSを示しています。 GENERIC_FAILUREは一般的なエラー(例:クレジットがない)の場合に発生します。

しかし、飛行機モードを有効にしてSMSを送信しようとしました。私はそれがNO_SERVICEエラーをトリガーすると思ったが、代わりにRADIO_OFFがトリガーされた。また、公式の文書は、それらをとてもうまく説明していません。ここで

答えて

11

documentation of SmsManager上の私のコメントです:

  • RESULT_ERROR_GENERIC_FAILURE一般的な故障原因

    何かが間違っていたと何、なぜか、どのように伝える方法はありません。

  • RESULT_ERROR_NO_SERVICEサービスは

    お使いのデバイスは、単純にセルのフロントがありません現在利用できないので、失敗しました。あなたはおそらく、どこかの真ん中、内部、地下、または宇宙の中にいるでしょう。確かに携帯電話の塔から離れて。

  • RESULT_ERROR_NULL_PDUなしPDUは(最も可能性の高い伝送のために一緒にそれを置く)protocol description unit (PDU)で何かをしながら

    何かが、SMSスタックに間違っていた設けられていないので失敗しました。

  • RESULT_ERROR_RADIO_OFF

    :ラジオが明示的に

    をオフにしたためは、あなたが正確に「すべての無線をオフにする」(セル、無線LAN、Bluetooth、NFCをお使いのデバイスに指示機内モード、にあなたのデバイスを切り替え失敗しました。.. )。最後に

、ほとんどのアプリケーションは、SMSを送信するが(飛行機モードがRESULT_ERROR_RADIO_OFFの場合にはオンになっている場合は、ユーザーに尋ねる除く)は失敗した理由のアプリ自体は、それを解決するために行うことができます何もないので、を気にする必要はありません。

+0

どうもありがとうございました:) –

+1

@Philipp R「またはアップ空間での」... :) – greaterKing

2

SmsManager.RESULT_ERROR_GENERIC_FAILUREは、ほとんどの場合、このエラーが発生したときに1つのSMSのためにあまりにも長いメッセージ。このような状況では、これを使用します。

ArrayList<String> texts = smsManager.divideMessage(text); 
smsManager.sendMultipartTextMessage(phone, null, texts, null, null) 
+0

その他の場合? – Fay007

+0

何かが間違っていて、何が、なぜ、どのように伝わるかは分かりません。 テストと塗りつぶし... – merovingen

関連する問題