Sure, here's an example application in Java that allows the user to send and receive SMS messages:

MainActivity.java




typescript
import android.Manifest; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.pm.PackageManager; import android.os.Bundle; import android.telephony.SmsManager; import android.telephony.SmsMessage; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; public class MainActivity extends AppCompatActivity { private static final int PERMISSION_SEND_SMS = 123; private static final int PERMISSION_RECEIVE_SMS = 456; private BroadcastReceiver receiver; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Check for send SMS permission if (ContextCompat.checkSelfPermission(this, Manifest.permission.SEND_SMS) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[] { Manifest.permission.SEND_SMS }, PERMISSION_SEND_SMS); } // Check for receive SMS permission if (ContextCompat.checkSelfPermission(this, Manifest.permission.RECEIVE_SMS) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[] { Manifest.permission.RECEIVE_SMS }, PERMISSION_RECEIVE_SMS); } // Register SMS receiver receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { Bundle extras = intent.getExtras(); if (extras != null) { Object[] pdus = (Object[]) extras.get("pdus"); for (Object pdu : pdus) { SmsMessage message = SmsMessage.createFromPdu((byte[]) pdu); String sender = message.getOriginatingAddress(); String body = message.getMessageBody(); Toast.makeText(context, "Received SMS from " + sender + ": " + body, Toast.LENGTH_SHORT).show(); } } } }; IntentFilter filter = new IntentFilter(); filter.addAction("android.provider.Telephony.SMS_RECEIVED"); registerReceiver(receiver, filter); } @Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(receiver); } private void sendSMS(String phoneNumber, String message) { SmsManager smsManager = SmsManager.getDefault(); smsManager.sendTextMessage(phoneNumber, null, message, null, null); Toast.makeText(this, "SMS sent to " + phoneNumber, Toast.LENGTH_SHORT).show(); } }

AndroidManifest.xml








php
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.smsdemo"> <uses-permission android:name="android.permission.SEND_SMS" /> <uses-permission android:name="android.permission.RECEIVE_SMS" /> <application ... </application> </manifest>

Note that you should replace com.example.smsdemo with your own package name in the manifest file. Also, make sure to request the appropriate permissions from the user at runtime.