Lập trình Android — August 17, 2016 at 2:51 am

Hướng dẫn code gửi tin nhắn SMS trong Android

by

Trong bài viết này, chúng tôi xin chia sẻ với các bạn code gửi tin nhắn SMS trên Android. Cùng nhau theo dõi nhé các bạn.

Có hai lựa chọn cho việc gửi tin nhắn SMS trên Android:

– Sử dụng SmsManager để gửi tin nhắn trong nền background.

– Sử dụng một Intent gửi người dùng đến các ứng dụng tin nhắn SMS với một số cài đặt trước và tin nhắn.

Trong hướng dẫn học lập trình android này, chúng tôi cho bạn thấy ví dụ cơ bản để gửi tin nhắn SMS trong Android thông qua Intent. Bạn cần phải viết chỉ có 4 dòng mã send sms trong Android.

//Getting intent and PendingIntent instance
Intent intent=new Intent(getApplicationContext(),MainActivity.class);
PendingIntent pi=PendingIntent.getActivity(getApplicationContext(), 0, intent,0);//Get the SmsManager instance and call the sendTextMessage method to send message
SmsManager sms=SmsManager.getDefault();
sms.sendTextMessage(“8802177690”, null, “hello javatpoint”, pi,null);

Ví dụ gửi tin nhắn SMS trong Android

Kéo 2 edittexts, 2 textviews và 1 nút từ pallete, bây giờ các tập tin activity_main.xml sẽ như thế này:

File: activity_main.xml

<RelativeLayout xmlns:androclass=”http://schemas.android.com/apk/res/android”
xmlns:tools=”http://schemas.android.com/tools”
android:layout_width=”match_parent”
android:layout_height=”match_parent”
tools:context=”.MainActivity” ><EditText
android:id=”@+id/editText1″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_alignParentRight=”true”
android:layout_alignParentTop=”true”
android:layout_marginRight=”20dp”
android:ems=”10″ />

<EditText
android:id=”@+id/editText2″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_alignLeft=”@+id/editText1″
android:layout_below=”@+id/editText1″
android:layout_marginTop=”26dp”
android:ems=”10″
android:inputType=”textMultiLine” />

<TextView
android:id=”@+id/textView1″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_alignBaseline=”@+id/editText1″
android:layout_alignBottom=”@+id/editText1″
android:layout_toLeftOf=”@+id/editText1″
android:text=”Mobile No:” />

<TextView
android:id=”@+id/textView2″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_alignBaseline=”@+id/editText2″
android:layout_alignBottom=”@+id/editText2″
android:layout_alignLeft=”@+id/textView1″
android:text=”Message:” />

<Button
android:id=”@+id/button1″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_alignLeft=”@+id/editText2″
android:layout_below=”@+id/editText2″
android:layout_marginLeft=”34dp”
android:layout_marginTop=”48dp”
android:text=”Send SMS” />

</RelativeLayout>

Viết mã cho phép trong file Android-manifest.xml. Bạn cần phải viết SEND_SMS phép như đưa ra dưới đây:

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

File: Android-Manifest.xml

<?xml version=”1.0″ encoding=”utf-8″?>
<manifest
xmlns:androclass=”http://schemas.android.com/apk/res/android”
package=”com.example.sendsms”
android:versionCode=”1″
android:versionName=”1.0″ ><uses-sdk
android:minSdkVersion=”8″
android:targetSdkVersion=”16″ />

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

<uses-permission android:name=”android.permission.RECEIVE_SMS”/>

<application
android:allowBackup=”true”
android:icon=”@drawable/ic_launcher”
android:label=”@string/app_name”
android:theme=”@style/AppTheme” >
<activity
android:name=”com.example.sendsms.MainActivity”
android:label=”@string/app_name” >
<intent-filter>
<action android:name=”android.intent.action.MAIN” />

<category android:name=”android.intent.category.LAUNCHER” />
</intent-filter>
</activity>
</application>

</manifest>

Lớp Activity

Chúng ta hãy viết code để thực hiện cuộc gọi điện thoại qua Intent.

File: MainActivity.java

package com.example.sendsms;

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

public class MainActivity extends Activity {

EditText mobileno,message;
Button sendsms;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

mobileno=(EditText)findViewById(R.id.editText1);
message=(EditText)findViewById(R.id.editText2);
sendsms=(Button)findViewById(R.id.button1);

//Performing action on button click
sendsms.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
String no=mobileno.getText().toString();
String msg=message.getText().toString();

//Getting intent and PendingIntent instance
Intent intent=new Intent(getApplicationContext(),MainActivity.class);
PendingIntent pi=PendingIntent.getActivity(getApplicationContext(), 0, intent,0);

//Get the SmsManager instance and call the sendTextMessage method to send message
SmsManager sms=SmsManager.getDefault();
sms.sendTextMessage(no, null, msg, pi,null);

Toast.makeText(getApplicationContext(), “Message Sent successfully!”,
Toast.LENGTH_LONG).show();
}
});
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}

}

Kết quả:

SMS-android-1

 

Trên đây chúng tôi đã chia sẻ với các bạn cách code gửi tin nhắn SMS. Hy vọng bài viết này  sẽ giúp ích cho các bạn. Chúc các bạn học tốt!

Nguồn: laptrinhandroid

Leave a Comment

Your email address will not be published. Required fields are marked *