To send an MMS in Android , we'll use intent . Here is the code snippet.
Android Layout File
Layout File Name :- activity_main.xml
<RelativeLayout xmlns:android="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/et_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="39dp"
android:layout_marginTop="22dp"
android:ems="10"
android:hint="Enter Number"
android:inputType="number"
android:singleLine="true" />
<EditText
android:id="@+id/et_msg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/et_number"
android:layout_below="@+id/et_number"
android:layout_marginTop="24dp"
android:ems="10"
android:lines="3"
android:hint="Enter Message Body" />
<Button
android:id="@+id/btn_send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/et_msg"
android:layout_centerVertical="true"
android:text="Send MMS" />
</RelativeLayout>
*************************** .java File ********************
Class Name:- MainACtivity.java
Package Name:- com.dummymms
package com.dummymms;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity implements OnClickListener {
Button btnmms;
EditText etnum, etmsg;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etnum=(EditText)findViewById(R.id.et_number);
etmsg=(EditText)findViewById(R.id.et_msg);
btnmms=(Button)findViewById(R.id.btn_send);
btnmms.setOnClickListener(this);
}
@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;
}
@Override
public void onClick(View v) {
try {
//Uri uri = Uri.parse("content://media/external/images/media/1");
// Uri uri = Uri.parse("file://mnt/sdcard/test.jpg");
Uri uri = Uri.parse("file://"+Environment.getExternalStorageDirectory()+"/test.png");
Intent i = new Intent(Intent.ACTION_SEND);
i.putExtra("address",etnum.getText().toString());
i.putExtra("sms_body",etmsg.getText().toString());
i.putExtra(Intent.EXTRA_STREAM,"file:/"+uri);
i.setType("image/png");
startActivity(i);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
Make sure to add permission in the Manifest File
Download the source code here
Android Layout File
Layout File Name :- activity_main.xml
<RelativeLayout xmlns:android="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/et_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="39dp"
android:layout_marginTop="22dp"
android:ems="10"
android:hint="Enter Number"
android:inputType="number"
android:singleLine="true" />
<EditText
android:id="@+id/et_msg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/et_number"
android:layout_below="@+id/et_number"
android:layout_marginTop="24dp"
android:ems="10"
android:lines="3"
android:hint="Enter Message Body" />
<Button
android:id="@+id/btn_send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/et_msg"
android:layout_centerVertical="true"
android:text="Send MMS" />
</RelativeLayout>
*************************** .java File ********************
Class Name:- MainACtivity.java
Package Name:- com.dummymms
package com.dummymms;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity implements OnClickListener {
Button btnmms;
EditText etnum, etmsg;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etnum=(EditText)findViewById(R.id.et_number);
etmsg=(EditText)findViewById(R.id.et_msg);
btnmms=(Button)findViewById(R.id.btn_send);
btnmms.setOnClickListener(this);
}
@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;
}
@Override
public void onClick(View v) {
try {
//Uri uri = Uri.parse("content://media/external/images/media/1");
// Uri uri = Uri.parse("file://mnt/sdcard/test.jpg");
Uri uri = Uri.parse("file://"+Environment.getExternalStorageDirectory()+"/test.png");
Intent i = new Intent(Intent.ACTION_SEND);
i.putExtra("address",etnum.getText().toString());
i.putExtra("sms_body",etmsg.getText().toString());
i.putExtra(Intent.EXTRA_STREAM,"file:/"+uri);
i.setType("image/png");
startActivity(i);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
Make sure to add permission in the Manifest File
<uses-permission android:name="android.permission.RECEIVE_MMS" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
Download the source code here