andoid 打包短信发送到gmail邮箱
生活随笔
收集整理的這篇文章主要介紹了
andoid 打包短信发送到gmail邮箱
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
andriod短信整合備份發送到gmail郵箱,需要在andoid手機配置好gmail郵箱
github代碼?https://github.com/zhwj184/smsbackup
查看效果:
?
?
可以把幾天的短信打包發送到自己的gmail郵箱,可以定時備份下短信。
?
主要代碼:
package org.smsautobackup;import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date;import android.app.Activity; import android.app.ActivityManager; import android.content.ContentResolver; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.EditText;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");Date curDate = new Date(System.currentTimeMillis());// 獲取當前時間Date lastDate = new Date(curDate.getYear(), curDate.getMonth(),curDate.getDate() - 1);((EditText) findViewById(R.id.endDate)).setText(formatter.format(curDate));((EditText) findViewById(R.id.startDate)).setText(formatter.format(lastDate));Button btn = (Button) findViewById(R.id.button1);btn.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {sendSms(getSmsInPhone());}}); // Button btn1 = (Button) findViewById(R.id.button2); // btn1.setOnClickListener(new View.OnClickListener() { // public void onClick(View v) { // EditText txtContent = (EditText) MainActivity.this.findViewById(R.id.editText1); // AutoBackupService.receiver = txtContent.getText().toString(); // startService(new Intent(MainActivity.this, // AutoBackupService.class)); // } // });}private String getSmsInPhone() {StringBuilder smsBuilder = new StringBuilder();EditText startDatePicker = (EditText) findViewById(R.id.startDate);EditText endDatePicker = (EditText) findViewById(R.id.endDate);DateFormat df = new SimpleDateFormat("yyyy-MM-dd");try {Date startDate = df.parse(startDatePicker.getText().toString());Date endDate = df.parse(endDatePicker.getText().toString());ContentResolver cr = getContentResolver();return SmsUtil.getSmsInPhone(startDate, endDate, cr);}catch(Exception e){Log.d("Exception in getSmsInPhone", e.getMessage());}return "";}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}protected void onDestroy() {super.onDestroy();ActivityManager activityMgr= (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);activityMgr.restartPackage(getPackageName());}private void sendSms(String content) {Intent intent = new Intent(android.content.Intent.ACTION_SEND);intent.setType("plain/text");// intent.setType("message/rfc822") ; // 真機上使用這行EditText txtContent = (EditText) findViewById(R.id.editText1);String[] strEmailReciver = new String[] { txtContent.getText().toString() };intent.putExtra(android.content.Intent.EXTRA_EMAIL, strEmailReciver); // 設置收件人EditText startDatePicker = (EditText) findViewById(R.id.startDate);EditText endDatePicker = (EditText) findViewById(R.id.endDate);intent.putExtra(Intent.EXTRA_SUBJECT, "["+ startDatePicker.getText().toString() + "至"+ endDatePicker.getText().toString() + "]短信備份");intent.putExtra(android.content.Intent.EXTRA_TEXT, content); // 設置內容startActivity(Intent.createChooser(intent,"send SMS to your mail success"));} }?
package org.smsautobackup;import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date;import android.content.ContentResolver; import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteException; import android.net.Uri; import android.util.Log; import android.widget.EditText;public class SmsUtil {// android獲取短信所有內容public static String getSmsInPhone(Date startDate,Date endDate,ContentResolver cr) {final String SMS_URI_ALL = "content://sms/";final String SMS_URI_INBOX = "content://sms/inbox";final String SMS_URI_SEND = "content://sms/sent";final String SMS_URI_DRAFT = "content://sms/draft";StringBuilder smsBuilder = new StringBuilder();try {String[] projection = new String[] { "_id", "address", "person","body", "date", "type" };Uri uri = Uri.parse(SMS_URI_ALL);Cursor cur = cr.query(uri, projection, null, null, "date desc");if (cur.moveToFirst()) {String name;String phoneNumber;String smsbody;String date;String type;int nameColumn = cur.getColumnIndex("person");int phoneNumberColumn = cur.getColumnIndex("address");int smsbodyColumn = cur.getColumnIndex("body");int dateColumn = cur.getColumnIndex("date");int typeColumn = cur.getColumnIndex("type");do {name = cur.getString(nameColumn);phoneNumber = cur.getString(phoneNumberColumn);smsbody = cur.getString(smsbodyColumn);SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");Date d = new Date(Long.parseLong(cur.getString(dateColumn)));if (d.before(startDate) || d.after(endDate)) {continue;}date = dateFormat.format(d);int typeId = cur.getInt(typeColumn);if (typeId == 1) {type = "接收";} else if (typeId == 2) {type = "發送";} else {type = "";}smsBuilder.append("[");smsBuilder.append(name==null?"":name + ",");smsBuilder.append(phoneNumber + ",");smsBuilder.append(smsbody + ",");smsBuilder.append(date + ",");smsBuilder.append(type);smsBuilder.append("]\n");if (smsbody == null)smsbody = "";} while (cur.moveToNext());} else {smsBuilder.append("no result!");}smsBuilder.append("getSmsInPhone has executed!");} catch (SQLiteException ex) {Log.d("SQLiteException in getSmsInPhone", ex.getMessage());} return smsBuilder.toString();}}?
其他配置請到github上看。
轉載于:https://www.cnblogs.com/zhwj184/archive/2013/04/20/3119610.html
總結
以上是生活随笔為你收集整理的andoid 打包短信发送到gmail邮箱的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在VB中运用FFT
- 下一篇: UVA dp题目汇总