2011-06-29 14 views
5

मैं SmsManager में sendDataMessage() विधि के साथ समस्या हो रही है पर डेटा एसएमएस भेजा जा रहा है एंड्रॉयड में।एक सीडीएमए फोन

2 जीएसएम एमुलेटर के बीच डेटा एसएमएस भेजना कम से कम आंशिक रूप से काम करता है, लेकिन मुझे Verizon CDMA फोन पर एक ही विधि का उपयोग करते समय NullPointerException मिलता है।

"SmsManager.sendDataMessage() हमेशा सीडीएमए उपकरणों पर विफल रहता है, क्योंकि यह सफल होने के लिए कोई कोड पथ विफलता के रूप में देखा जा सकता है:।

मैं कुछ इसी तरह के लिए एक bug report के लिए इस लिंक पाया रेडियो लॉग, जहां com.android.internal.telephony.cdma.sms.BearerData.encodeEmsUserDataPayload() एक CodingException फेंकता है। "

लेकिन मुझे आश्चर्य है कि किसी को सीडीएमए फोन पर कुछ ऐसा करने के लिए कोई कामकाज मिला है।

+1

मैं अब मैं सिर्फ SendMessage (साथ व्यवस्थित हो सकता है लगता है) और फिर अवरोधन सभी संदेशों संदेशों में एक विशेष टैग का उपयोग करें, और टैग के लिए जाँच, लेकिन यह एक हैक मैं बताना नहीं चाहते है – bfly2000

+0

क्या आपने अभी तक इस समस्या का समाधान किया है? मुझे एक ही समस्या है, और मुझे लगता है कि यह एक प्रदाता है (मेरे मामले में वेरिज़ोन वायरलेस) संबंधित सीमा (या बल्कि प्रतिबंध)। – xtrem

+0

हाय @ bfly2000, मैं इस देर से आ रहा हूं, लेकिन मुझे एक ही समस्या है। क्या आपको पता है कि यह आज तक हल हो गया है, और आप रेडियो लॉग कैसे प्राप्त करते हैं? – Simon

उत्तर

0

इस कोड को जीएसएम और सीडीएमए दोनों

String sms = message.getText().toString(); 

      if(PhoneNumberUtils.isWellFormedSmsAddress(dest)) 
      { 
       for(String contact:multiContact) 
       { 
        smsManager.sendTextMessage(contact, null, sms, null, null); 
        Toast.makeText(SampleSms.this, "SMS messgae Sent to"+contact, Toast.LENGTH_LONG).show(); 
       } 

      } 
      else 
      { 
       Toast.makeText(SampleSms.this, "SMS messgae Sent failed", Toast.LENGTH_LONG).show(); 
      } 

मैं भी sendDataMessage() का इस्तेमाल किया था के लिए ठीक काम करता है, लेकिन मैं त्रुटि मिली। लेकिन कोड ऊपर ठीक काम कर रहा है

+0

मैं डेटा एसएमएस भेजने की कोशिश कर रहा हूं, क्योंकि मैं इसे प्रोग्राम डेटा भेजने की एक विशिष्ट विधि के रूप में उपयोग कर रहा हूं। यह एक मानक पाठ संदेश नहीं होने वाला है, और यह एक एसएमएस संदेश क्लाइंट द्वारा अवरुद्ध हो जाएगा। यहां तक ​​कि यदि मैंने अपने प्रोग्राम को उच्च एंड्रॉइड रखने के लिए सेट किया है: एसएमएस_RECIEVED इरादे के लिए प्राथमिकता, मुझे अभी भी पार्सिंग से निपटना होगा और यह सुनिश्चित करना होगा कि संदेश मेरे प्रोग्राम से है, यह सुनिश्चित करने का कोई वास्तविक तरीका नहीं है कि मैं एक वास्तविक पाठ को रोक नहीं रहा हूं संदेश। – bfly2000

+0

क्या आपने 'sendDataMessage()' में पोर्ट नंबर का उपयोग किया है? हालांकि यह संदेश निश्चित रूप से –

+0

depricated है, मुझे नहीं लगता है कि यह एक बंदरगाह नहीं। बिना काम करेंगे, और मैं अनिश्चित हूँ के रूप में क्यों यह पदावनत कर रहा है, मुझे उम्मीद थी कि CDMA नेटवर्क के लिए एक डेटा एसएमएस नकल करने के लिए एक तरह से किया गया था इस समय एंड्रॉइड में – bfly2000

संबंधित मुद्दे