2017-01-18 14 views
0

以下のコードは、最後の1週間の通話記録の詳細を表示します。しかし、その通話記録の詳細を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

上記のコードは最後の1週間の通話記録の詳細を返しますが、その通話記録の詳細をメールに送信します。私はその通話記録の詳細を自分の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")); 

私はそれはあなたを助けます:)

関連する問題