2013-03-11 71 views
2

我是新的android.i希望在android中創建應用程序,當我錯過了我的手機上的通話我想發送短信到該號碼。任何人都可以幫助我如何識別來自通話記錄的最近未接來電。訪問最近從通話記錄中丟失的號碼android

+0

您可以在這裏http://stackoverflow.com/questions/3785725/how-to-retrieve-missed-calls-on-android-sdk-2-2檢查代碼 – Syn3sthete 2013-03-11 12:20:45

回答

0

讀CallLogs有列名的類型,如果它的值是3,這意味着該呼叫被錯過和你的應用程序需要權限讀取通話記錄More Details

1

首先,通過內容Provider.and獲得該號碼的未接來電輕鬆發送該號碼的短信。

請試試這個。

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); 
    } 

}