安卓实现简单的发送短信功能

能够实现简单的发送短信的功能

    布局文件:

    

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="vertical"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     android:background="@drawable/sms">
    <TextView 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="输入短信号码"/>
    <EditText 
        android:id="@+id/txtPhoneNo"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
    <TextView 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="短信"/>
    <EditText 
        android:id="@+id/txtMessage"
        android:layout_width="fill_parent"
        android:layout_height="150px"
        android:gravity="top"/>
    <Button 
        android:id="@+id/btnSendSMS"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="发送短信"/>
</LinearLayout>

声明权限:

     <uses-permission android:name="android.permission.SEND_SMS"/>

java代码:

   

package com.example.sms;

import android.app.Activity;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		final Button btnSendSMS = (Button) findViewById(R.id.btnSendSMS);
		final EditText txtPhoneNo = (EditText)findViewById(R.id.txtPhoneNo);
		final EditText txtMessage= (EditText)findViewById(R.id.txtMessage);
		btnSendSMS.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				String phoneNo = txtPhoneNo.getText().toString();
				String message = txtMessage.getText().toString();
				if(phoneNo.length()>0 && message.length()>0){
					Log.v("ROGER","will begin sendSMS");
					sendSMS(phoneNo,message);
				}else
					Toast.makeText(MainActivity.this, "请重新输入电话号码和短信内容", Toast.LENGTH_LONG).show();
			}
		});
	}
	private void sendSMS(String phoneNumber,String message){
		PendingIntent pi = PendingIntent.getActivity(this, 0, new Intent(this,MainActivity.class), 0);
	    Log.v("ROGER","will init SMS Manager");
	    SmsManager sms = SmsManager.getDefault();
	    Log.v("ROGER","will send SMS");
	    sms.sendTextMessage(phoneNumber,null,message,pi,null);
	}
}

posted @   wojiaohuangyu  阅读(6)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示