2011-07-05 14 views
36

एंड्रॉइड में बड़ा एसएमएस कैसे भेजें। मैंने उपयोग किया:160 से अधिक वर्ण एसएमएस कैसे भेजें?

SmsManager sms = SmsManager.getDefault(); 
sms.sendTextMessage(contactNos[j], null,msgs[i], sentPI, deliveredPI); 

यह कोड केवल 160 वर्ण संदेश के लिए काम करता है। मैं

ArrayList<String> msgsplit=sms.divideMessage(msgs[i]); 
ArrayList<PendingIntent> listOfIntents = new ArrayList<PendingIntent>(); 

for (int k=0; k < msgsplit.size(); k++){ 
    Intent sentIntent = new Intent(); 
    PendingIntent pi = PendingIntent.getBroadcast(MultipleMsg.this, 0, sentIntent, PendingIntent.FLAG_CANCEL_CURRENT); 
    listOfIntents.add(pi); 
} 
// sendMessage(contactNos[j],msgs[i]); 
sms.sendMultipartTextMessage(contactNos[j],null,msgsplit, listOfIntents, null); 

का उपयोग करता हूं लेकिन यह संदेश में जंक चरित्र भेजता है। क्या कोई मेरी मदद कर सकता है?

कोड नीचे
+0

मैं यहां कुछ ऐसा कर रहा हूं !!! http://stackoverflow.com/questions/14452808/sending-and-receiving-sms-mms-in-android – toobsco42

उत्तर

31

रद्दी वर्ण मदद कर सकता है? विधि भेजें MultipartTextMessage केवल टेक्स्ट संदेश भेजें। यदि आप गैर टेक्स्ट संदेश भेजना चाहते हैं, तो आपको विधि भेजनेडेटा मैसेज को देखना चाहिए। नीचे एंड्रॉइड cts से कोड अंश है। इस बारे में उदाहरण है कि लंबे संदेश कैसे भेजें।

SmsManager sm = SmsManager.getDefault(); 
ArrayList<String> parts =sm.divideMessage(LONG_TEXT); 
int numParts = parts.size(); 

ArrayList<PendingIntent> sentIntents = new ArrayList<PendingIntent>(); 
ArrayList<PendingIntent> deliveryIntents = new ArrayList<PendingIntent>(); 

for (int i = 0; i < numParts; i++) { 
sentIntents.add(PendingIntent.getBroadcast(getContext(), 0, mSendIntent, 0)); 
deliveryIntents.add(PendingIntent.getBroadcast(getContext(), 0, mDeliveryIntent, 0)); 
} 

sm.sendMultiPartTextMessage(mDestAddr,null, parts, sentIntents, deliveryIntents) 
+0

मैं पहले से ही यह कोशिश करता हूं और इसे अपने प्रश्न में भी डालता हूं। इसमें कोई संदेह नहीं है कि यह कोड संदेश विभाजित करता है और इसे भेजता है लेकिन दूसरी तरफ संदेश संदेश में कुछ असमर्थित वर्णों के साथ आता है। –

+0

आपके सामने आने वाली समस्या के समान प्रतीत होता है लेकिन वे केवल सिम्युलेटर पर दावा करते हैं। http://code.google.com/p/android/issues/detail?id=13737 – Jasonw

+0

याप मुझे भी एक ही समस्या है लेकिन मैं समझ नहीं पा रहा हूं कि उसने जंक चरित्र के साथ लंबे संदेश भेजने के लिए क्या कहा है। –

42

कोशिश

SmsManager sms = SmsManager.getDefault(); 
ArrayList<String> parts = sms.divideMessage(message); 
sms.sendMultipartTextMessage(phoneNumber, null, parts, null, null); 
+0

मैं इसका उपयोग करता हूं लेकिन यह संदेश में जंक वर्ण भेजता है। –

+0

यह कोड मेरे लिए उत्कृष्ट काम कर रहा है। (एंड्रॉइड 2.3.6, सैमसंग गैलेक्सी ऐस), साझा करने के लिए बहुत बहुत धन्यवाद। –

+0

यह मेरे लिए भी काम करता है धन्यवाद, नेक्सस एस एक पुराने अल्काटेल फोन पर 4.2 जेली बीन चला रहा है। – Peanut

3

एमुलेटर कुछ समस्या के दौरान उस कोड में जंक वर्ण भेजें ताकि वास्तविक मोबाइल में apk उपयोग करें, और कोड की जांच, मुझे यकीन है कि आपके आवेदन कबाड़ नहीं भेजेंगे message..All सबसे अच्छा कर रहा हूँ।

0

आपको एसएमएस भेजने के लिए एसएमएससी से विशिष्ट शॉर्ट कोड प्राप्त करना चाहिए, जिसमें 160 से अधिक अक्षर हैं।

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