2013-03-11 44 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); 
    } 

} 
相关问题