[Android]短信发送器

本文详细介绍了一个用于发送短信的Android Activity示例。通过分析SMSActivity源码,解释了如何使用按钮触发短信发送,并处理了资源未找到的问题。文章还介绍了如何在AndroidManifest.xml中添加发送短信所需的权限。
摘要由CSDN通过智能技术生成

如果出现resources NotFound,也就是R文件对应的属性找不到,尝试把应用程序卸载掉。

 

 

public class SMSActivity extends Activity {

    /** Called when the activity is first created. */

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);



        Button button = (Button)this.findViewById(R.id.button);

        button.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

EditText numText = (EditText)SMSActivity.this.findViewById(R.id.numEdt);

//假设内部类也有外部类findViewbyId方法,则可使用 外部类.this.findViewById调用外部类的findViewById

       EditText conText = (EditText)findViewById(R.id.conEdt);

       //假设只有外部类有findViewbyId方法,内部类没有findViewById,则可使用 findViewById调用外部类的findViewById。因为程序运行时,调用findViewById时现在内部类里面寻找该方法,如果找不到就去上一层外部类里面寻找。

       String numString = numText.getText().toString();

       String conString = conText.getText().toString();

       //发短信

       SmsManager smsManager = SmsManager.getDefault();//取得默认短信管理器对象(android.telephony.SmsManager)。另一个gsm已过时,因为之前android只支持gsm网络。

       //注意在AndroidManifest.xml添加权限(android.permission.SEND_SMS)

       List<String> conStrings = smsManager.divideMessage(conString);//如果短信内容过多,就拆分多条短信发送

       for (String string : conStrings) {

smsManager.sendTextMessage(numString, null, string, null, null);

//最后二个参数为短信已发送的广播意图,最后一个参数为短信对方已收到短信的广播意图

}

       

//        Toast.makeText(SMSActivity.this, "发送成功", 1).show();

        

       Toast.makeText(getApplicationContext(), R.string.Faile, Toast.LENGTH_LONG).show();

}

});

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值