So senden Sie große SMS in Android. Ich benutzte :
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(contactNos[j], null,msgs[i], sentPI, deliveredPI);
dieser Code funktioniert nur für eine Nachricht mit 160 Zeichen. Ich benutze auch
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);
Es sendet jedoch Junk-Zeichen in der Nachricht. Kann mir jemand helfen?
Junk-Charaktere? Die Methode sendMultipartTextMessage sendet nur die Nachricht text. Wenn Sie keine Textnachricht senden möchten, sollten Sie die Methode sendDataMessage verwenden. Unten ist der Code-Auszug aus Android cts . Es gibt Beispiele dafür, wie lange Nachrichten gesendet werden.
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)
Versuchen Sie es mit dem folgenden Code
SmsManager sms = SmsManager.getDefault();
ArrayList<String> parts = sms.divideMessage(message);
sms.sendMultipartTextMessage(phoneNumber, null, parts, null, null);
Der Emulator sendet die Junk-Zeichen in diesem Code während eines bestimmten Problems. Verwenden Sie also apk in real mobile und überprüfen Sie den Code.
Sie sollten einen spezifischen Funktionscode von SMSC erhalten, um SMS mit mehr als 160 Zeichen zu senden.