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

Nic*_*las 2 sms android 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();
        }

    }
Run Code Online (Sandbox Code Playgroud)

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

Soh*_*hid 5

像这样发送而不必担心其大小。

 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();
        }
    }
Run Code Online (Sandbox Code Playgroud)