2012-04-22 7 views
11

मैं एक इरादा शुरू करके फोन सेट एसएमएस प्रदाता शुरू करने की कोशिश कर रहा हूं। मैं जिस कोड का उपयोग कर रहा हूं वह वह है जो मैं इरादा शुरू करने के लिए उपयोग कर रहा हूं।एंड्रॉइड: एकाधिक प्राप्तकर्ताओं के साथ एसएमएस गतिविधि खोलना

Intent sendIntent = new Intent(Intent.ACTION_VIEW); 
    StringBuilder uri = new StringBuilder("sms:"); 
    for (int i = 0; i < contacts.size(); i++) { 
     uri.append(contacts.get(i).getNumber()); 
     uri.append(", "); 
    } 
    sendIntent.putExtra("sms_body", ""); 
    sendIntent.setType("vnd.android-dir/mms-sms"); 
    sendIntent.setData(Uri.parse(uri.toString())); 
    startActivity(sendIntent); 

मैं विशेष रूप से संदेश भेजने के बजाय इस विधि का उपयोग करना चाहता हूं ताकि उपयोगकर्ता अपने पसंदीदा एसएमएस क्लाइंट का उपयोग कर सके। मैं इसे सिर्फ एक नंबर के साथ जा सकता हूं लेकिन एकाधिक नहीं। मुझे एकाधिक प्राप्तकर्ताओं के साथ कहीं भी एक उदाहरण नहीं मिल रहा है। क्या यह संभव है? आशय निर्माता में यूआरआई के रूप में:

अग्रिम

उत्तर

18
Intent smsIntent = new Intent(Intent.ACTION_SENDTO,Uri.parse("smsto:5551212;5551212")); 
smsIntent.putExtra("sms_body", "sms message goes here"); 
startActivity(smsIntent); 

में फ़ोन नंबर की एक अर्धविराम सीमांकित सूची में जोड़ें में धन्यवाद "smsto"। यह भी देखें LINK

+0

धन्यवाद कि गलत गलती – georgephillips

+0

काम करता है यह मेरे लिए केवल एक प्राप्तकर्ता दिखाने वाला खुला एसएमएस ऐप नहीं काम करता है ?? –

6

मैंने थोड़ा संशोधन के साथ आपके दृष्टिकोण की कोशिश की और यह मेरे लिए ठीक से काम कर रहा है। यह संशोधित कोड है।

StringBuilder uri = new StringBuilder("sms:"); 
    for (int i = 0; i < yourarray.length; i++) { 
     uri.append(yourarray[i]); 
     uri.append(", "); 
    } 
    Intent smsIntent = new Intent(Intent.ACTION_VIEW); 
    smsIntent.setType("vnd.android-dir/mms-sms"); 
    smsIntent.setData(Uri.parse(uri.toString())); 
    smsIntent.putExtra("sms_body", "Body of Message"); 
    startActivity(smsIntent); 
संबंधित मुद्दे