zoukankan      html  css  js  c++  java
  • 备份设置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 {
    
    	@Override
    	protected 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 "";
    	}
    
    	@Override
    	public 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上看。

    文章结束给大家分享下程序员的一些笑话语录: 程序员的愿望
      有一天一个程序员见到了上帝.上帝: 小伙子,我可以满足你一个愿望.程序员: 我希望中国国家队能再次打进世界杯.
      上帝: 这个啊!这个不好办啊,你还说下一个吧!
      程序员: 那好!我的下一个愿望是每天都能休息6个小时以上.
      上帝: 还是让中国国家打进世界杯.

  • 相关阅读:
    磁盘
    磁盘接口
    Linux help websites
    [SOJ] 1282. Computer games (KMP)
    [SOJ]1753 解码
    hdu 3473 裸的划分树
    hdu 4417 划分树
    hdu 4665 搜索
    hdu 4340 树状DP
    hdu 4005 边连通度与缩点
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3033525.html
Copyright © 2011-2022 走看看