SMS Intent | Android Studio | Java
SMS Intent:
We will use intent to open the sms screen with the phone number the user entered. In this example, we will input a phone number using an input field i.e. EditText, and open that phone number in the sms screen by clicking the button.
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("sms:" + Uri.encode(phone))); startActivity(intent);
Full Example:
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical" android:padding="10dp" tools:context=".MainActivity1"> <!--EditText: Input Phone Number--> <EditText android:id="@+id/phoneEt" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Enter Phone Number" android:inputType="phone" /> <!--MaterialButton: Click to open sms intent--> <com.google.android.material.button.MaterialButton android:id="@+id/smsBtn" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="60dp" android:text="SMS" app:cornerRadius="8dp" /> </LinearLayout>
MainActivity.java
package com.technifysoft.myapplication; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.EditText; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import com.google.android.material.button.MaterialButton; public class MainActivity1 extends AppCompatActivity { private EditText phoneEt; private MaterialButton smsBtn; @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main1); //init UI Views phoneEt = findViewById(R.id.phoneEt); smsBtn = findViewById(R.id.smsBtn); //handle smsBtn click smsBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { openSmsIntent(); } }); } private void openSmsIntent() { //input phone number String phone = phoneEt.getText().toString().trim(); //open call/dialer intent Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("sms:" + Uri.encode(phone))); startActivity(intent); } }
Comments
Post a Comment