2017-01-18 76 views
0

以下代碼將顯示最近一週的通話記錄details.But我想發送該通話記錄的詳細信息到我的gmail-id「[email protected]。任何人都請告訴我,我有什麼樣的變化在此代碼做的就是通話記錄信息到我的電子郵箱。如何通過電子郵件發送通話記錄詳細信息

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

+0

是這個代碼返回你的通話記錄?..你沒有用callLogs更新你的stringBuffer。您可以以文本類型發送整個字符串。 –

+0

我無法找到保存通話記錄詳細信息的任何代碼行。 –

+0

上面的代碼將返回最後一個星期的通話記錄詳細信息.......但我想將該通話記錄詳細信息發送到我的電子郵件。我希望將通話記錄詳細信息發送到我的Gmail帳戶的文本正文。如何添加通話記錄詳細信息到這一行.... intent.putExtra(Intent.Extra_Text,「」); – Jegadesh

回答

0
Intent intent = new Intent(Intent.ACTION_SEND); 
intent.setType("text/plain"); 
intent.putExtra(Intent.EXTRA_EMAIL, "[email protected]"); 
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")); 

我希望它會幫助你:)

相關問題