如何在android中发送超过160个字符的短信?

时间:2016-07-20 09:03:49

标签: android sms smsmanager

我有一些代码可以从我的应用程序发送短信,但这段代码只发送160个字符,发送的数量不超过160个。这是我的代码:

protected void sendMessage(String message){

        String phoneNumber = "xxxx";

        try {

            if(message.length() < 161){
                SmsManager smsManager = SmsManager.getDefault();
                smsManager.sendTextMessage(phoneNumber, null, message, null, null);

                Toast.makeText(getApplicationContext(), "SMS Send !", Toast.LENGTH_LONG).show();
            }else{
                Toast.makeText(getApplicationContext(), "Character too long !", Toast.LENGTH_LONG).show();
            }

        }catch (Exception e){
            Toast.makeText(getApplicationContext(), "SMS Failed !", Toast.LENGTH_LONG).show();
            e.printStackTrace();
        }

    }

如何发送超过160个字符的短信?

2 个答案:

答案 0 :(得分:2)

像这样发送而不用担心它的大小。

 protected void sendMessage(String message) {
        try {
            String phoneNumber = "xxxx";
            SmsManager smsManager = SmsManager.getDefault();

            ArrayList<String> parts = smsManager.divideMessage(message);
            //smsManager.sendTextMessage(phoneNumber, null, message, null, null);
            smsManager.sendMultipartTextMessage(phoneNumber, null, parts,
                    null, null);
            Toast.makeText(getApplicationContext(), "SMS Send !", Toast.LENGTH_LONG).show();
        } catch (Exception e) {
            Toast.makeText(getApplicationContext(), "SMS Failed !", Toast.LENGTH_LONG).show();
            e.printStackTrace();
        }
    }

答案 1 :(得分:0)

通过2个文本发送消息。短信限制为160。