【问题标题】:How to send call log details via email如何通过电子邮件发送通话记录详细信息
【发布时间】:2017-01-18 15:43:04
【问题描述】:

下面的代码将显示过去一周的通话记录详细信息。但我想将该通话记录详细信息发送到我的 gmail-id “jegadesh9531@gmail.com。任何人请告诉我我必须在此做哪些更改将通话记录详细信息发送到我的电子邮件的代码。

 private String getCallDetails()
    {
        StringBuffer stringBuffer = new StringBuffer();
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.DAY_OF_YEAR, -7);
        Date weekBefore = calendar.getTime();
        String selection = android.provider.CallLog.Calls.DATE + ">?";
        String [] selectionArgs = {String.valueOf(weekBefore.getTime())};
        Cursor managedCursor = managedQuery(CallLog.Calls.CONTENT_URI, null, selection, selectionArgs, CallLog.Calls.DATE + " DESC");
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_CALL_LOG) != PackageManager.PERMISSION_GRANTED) 
{
}
int number = managedCursor.getColumnIndex(CallLog.Calls.NUMBER);
        int type = managedCursor.getColumnIndex(CallLog.Calls.TYPE);
        int date = managedCursor.getColumnIndex(CallLog.Calls.DATE);
        int duration = managedCursor.getColumnIndex(CallLog.Calls.DURATION);
        stringBuffer.append("Call Log :");
        while (managedCursor.moveToNext())
        {
            String phoneNumber = managedCursor.getString(number);
            String callType = managedCursor.getString(type);
            String callDate = managedCursor.getString(date);
            SimpleDateFormat formatter = new SimpleDateFormat(
                    "dd-MMM-yyyy HH:mm");
            String dateString = formatter.format(new Date(Long
                    .parseLong(callDate)));
            String callDuration = managedCursor.getString(duration);
            String dir = null;
            int dirCode = Integer.parseInt(callType);
            switch (dirCode)
            {
                case CallLog.Calls.OUTGOING_TYPE :
                    dir = "OUTGOING";
                    break;

                case CallLog.Calls.INCOMING_TYPE:
                    dir = "INCOMMING";
                    break;
                case CallLog.Calls.MISSED_TYPE:
                    dir = "MISSED CALL";
                    break;

            }
          stringBuffer.append("\nPhone Number:--- " + phoneNumber + "\nCall Type:--- "
                    + dir + "\nCall Date:---"
                    + dateString + "\nCall Duration:---" + callDuration);
            stringBuffer.append("\n--------------------------");
        }
        managedCursor.close();
        return stringBuffer.toString();
    }

【问题讨论】:

  • 此代码是否会返回您的通话记录?..您没有使用通话记录更新您的 stringBuffer。您可以以文本类型发送整个字符串。
  • 我找不到您保存通话记录详细信息的任何代码行。
  • 以上代码将返回上周的通话记录详细信息.......但我想将该通话记录详细信息发送到我的电子邮件。我希望将通话记录详细信息添加到我的 gmail 帐户的文本正文中。如何将通话记录详细信息添加到此行....intent.putExtra(Intent.Extra_Text," ");

标签: android email calllog


【解决方案1】:
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_EMAIL, "jegadesh9531@gmail.com");
intent.putExtra(Intent.EXTRA_SUBJECT, "Hi,");
intent.putExtra(Intent.EXTRA_TEXT, "Call Logs "+stringBuffer.toString());
intent.setType("message/rfc822");
startActivity(Intent.createChooser(intent, "Send Email"));

希望对你有帮助:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-14
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多