android案例之当字数超过一定限制时发送多条短信

生活中我们经常遇到一种情况,有时候一条短信过长,会发送多条,其实要想实现这个效果是很简单的,只要加一个条件判断就行,所有在这里详细步骤我就不写了,只把activity中的内容贴出来
package cn.csdn;
import java.util.List;
import android.app.Activity;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.gsm.SmsManager;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class SendMessageActivity extends Activity implements OnClickListener{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //获取当前视图下面的组件
        Button sendBtn=(Button) findViewById(R.id.send);
        //注册事件
        sendBtn.setOnClickListener(this);
    }
	@SuppressWarnings("deprecation")
	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		EditText user=(EditText) findViewById(R.id.user);
		EditText content=(EditText) findViewById(R.id.content);
		//信息管理对象
		SmsManager smsManager=SmsManager.getDefault();
		//意图      后三个参数所代表的        请求码      普通的意图       状态
		PendingIntent intent=PendingIntent.getBroadcast(SendMessageActivity.this, 0, new Intent(), 0);
		//如果字数超过70,需拆分为多条短信发送
		String con=content.getText().toString();
		if(content.length()>70){
			List<String> msgs=smsManager.divideMessage(con);
			for(String msg:msgs){
				smsManager.sendTextMessage(user.getText().toString(), null, msg,
						intent, null);
			}
		}else{
			smsManager.sendTextMessage(user.getText().toString(), null, content.getText().toString(),
					intent, null);
		}		
		//提示信息发送成功
		Toast.makeText(SendMessageActivity.this, "信息发送成功", Toast.LENGTH_LONG).show();
	}
}
注意:我在测试时不是content.length()设置为大于4,在发短信时发5个就会分成两个短息去发送的。只有短信内容超过70时才会分为两个短信发送的。本人觉得可能是它内部在调用divideMessage方法时已经有默认值在长度超过多少时才将短信进行多条发送

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值