在android中从呼叫日志访问最近错过的号码

在android中从呼叫日志访问最近错过的号码,android,android-intent,Android,Android Intent,我是android新手。我希望在android中创建一个应用程序,当我错过手机上的一个电话时,我想向那个号码发送一条短信。任何人都可以帮助我如何从通话记录中识别最近未接来电。读取通话记录如果其值为3,则有列名类型,这意味着该通话未接,并且您的应用程序需要获得读取通话记录的权限。首先,通过内容提供商获取该号码的未接来电。然后轻松发送该号码的短信 请试试这个 public class MainActivity extends Activity { Button FirstActivity;

我是android新手。我希望在android中创建一个应用程序,当我错过手机上的一个电话时,我想向那个号码发送一条短信。任何人都可以帮助我如何从通话记录中识别最近未接来电。

读取通话记录如果其值为3,则有列名类型,这意味着该通话未接,并且您的应用程序需要获得读取通话记录的权限。

首先,通过内容提供商获取该号码的未接来电。然后轻松发送该号码的短信

请试试这个

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

}
你可以在这里检查代码