Showing posts with label send an MMS in android. Show all posts
Showing posts with label send an MMS in android. Show all posts

Friday, 8 March 2013

How to send an MMS Programmatically in Android

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


<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