2

i'm new in android.i wish to create an application in android, when i missed a call on my phone i want to send an sms to that number. can any one help me how to identify the recently missed call from the call log.

Jesbin MJ
  • 3,219
  • 7
  • 23
  • 28
  • you can check the code here http://stackoverflow.com/questions/3785725/how-to-retrieve-missed-calls-on-android-sdk-2-2 – Syn3sthete Mar 11 '13 at 12:20

2 Answers2

1

Firstly, get Missed call of that number through the Content Provider.and send easily send SMS of that Number.

Please try this.

public class MainActivity extends Activity {

    Button FirstActivity;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        String[] strFields = {android.provider.CallLog.Calls.CACHED_NAME, android.provider.CallLog.Calls.NUMBER,android.provider.CallLog.Calls.DATE, android.provider.CallLog.Calls.TYPE
        };
        String strOrder = android.provider.CallLog.Calls.DATE + " DESC";

        Cursor mCallCursor = getContentResolver().query(android.provider.CallLog.Calls.CONTENT_URI,strFields, null, null, strOrder);

        if (mCallCursor.moveToFirst()) {

            do {

                boolean missed = mCallCursor.getInt(mCallCursor.getColumnIndex(CallLog.Calls.TYPE)) == CallLog.Calls.MISSED_TYPE;

                if (missed) {

                    String name = mCallCursor.getString(mCallCursor
                            .getColumnIndex(CallLog.Calls.CACHED_NAME));

                    String number = mCallCursor.getString(mCallCursor
                            .getColumnIndex(CallLog.Calls.NUMBER));

//                  String time = DateFormat.getDateTimeInstance(DateFormat., DateFormat.LONG)
//                          .format(mCallCursor.getLong(mCallCursor
//                                  .getColumnIndex(CallLog.Calls.DATE)));
//
//                  Log.d("PhoneLog", "You have a missed call from " + name + " on " + number
//                          + " at " + time);
                }

            } while (mCallCursor.moveToNext());

        }
        SmsManager smsManager = SmsManager.getDefault();
        smsManager.sendTextMessage("phoneNo", null, "sms message", null, null);
    }

}
Sagar Maiyad
  • 12,655
  • 9
  • 63
  • 99
Nitesh Khosla
  • 875
  • 8
  • 20
0

Read CallLogs There is column name type if its value is 3 that means that call is missed and your app need permission to read call logs More Details

Community
  • 1
  • 1
DjHacktorReborn
  • 2,908
  • 2
  • 20
  • 29