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上看。

(0)

相关推荐

  • 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 j

  • Vue组件开发之LeanCloud带图形校验码的短信发送功能

    有15万开发者使用LeanCloud服务,其中不乏知乎.懂球帝.爱范儿.拉卡拉等知名应用,LeanCloud提供了数据存储.即时消息--等一站式服务,并从常用的用户管理需求出发,提供了邮箱验证.短信验证--等用户账户相关的服务. 为防止攻击者恶意发送海量短信造成用户账户损失并影响正常业务,LeanCloud推出了免费图形校验码服务,并且可以在应用设置中设置"强制短信验证服务使用图形校验码". Vue是目前使用较广泛的三大前端框架之一,其数据驱动及组件化的特性使得前端开发更为快捷便利.

  • Java整合腾讯云短信发送实例代码

    目录 1. 引入相关maven依赖 2. 编写短信发送工具类 3. 业务层 3. 相关工具类 1. 引入相关maven依赖 <dependency> <groupId>com.github.qcloudsms</groupId> <artifactId>qcloudsms</artifactId> <version>1.0.6</version> </dependency> <dependency>

  • springboot与vue详解实现短信发送流程

    目录 一.前期工作 1.开启邮箱服务 2.导入依赖 3.配置application.yaml文件 二.实现流程 1.导入数据库 2.后端实现 编写实体类 编写工具类ResultVo 编写dao层接口 配置dao层接口的数据库操作 编写service层接口 编写service层的实现方法 实现controller层 Test代码 前端页面的实现 运行截图+sql图 总结 一.前期工作 1.开启邮箱服务 开启邮箱的POP3/SMTP服务(这里以qq邮箱为例,网易等都是一样的) 2.导入依赖 在spr

  • 通过短信发送LOG归类号码发送情况的shell脚本

    复制代码 代码如下: #!/bin/bash#telno 为查询号码列表文件#sendsms.log  为短信发送结果文件#1 代表发送成功query_sms(){>submit_telno>delivered_telno>fail_delivered_telnocat telno |while read line    do#判断telno 文件里的号码哪些提交成功---保存到submit_telnoawk '{if ($1=='$line') print$0}'  sendsms.l

  • IOS程序开发之跳转短信发送界面实现发送短信功能

    项目需求:在程序开发中,我们需要在某个程序里面发送一些短信验证(不是接收短信验证,关于短信验证,传送门:http://www.cnblogs.com/wolfhous/p/5096774.html 项目实现: 新建demo,直接看我源码标志. 源码截图 真机截图 就是如此简单,如您有任何问题/建议或者更好的实现方法,联系本人. 可以看我折叠的源码 /** 点击发送短信按钮*/ - (IBAction)sendMessageBut:(id)sender { /** 如果可以发送文本消息(不在模拟器

  • php实现短信发送代码

    卓望的短信发送.PHP格式.都要不习惯用xml传输数据格式了 标签: <无> 1. [代码][PHP]代码 <?php class Sms { private $userId = 'XXXXX'; private $password = 'XXXXXX'; private $templateId = 'XXXXXX'; /** * @var string 短信服务器地址 */ private $server_uri = 'XXXXXX'; private $port = 'XXXXXX'

  • php版阿里大于(阿里大鱼)短信发送实例详解

    本文实例讲述了php版阿里大于(阿里大鱼)短信发送实现方法.分享给大家供大家参考,具体如下: 通用函数 // 发送大于短信 更牛逼的 protected function sendDayuSmsPlus($tel,$type,$data) { $dayu_template = 'dayu_template_'.$type; $signname = C($dayu_template.".signname"); $templatecode = C($dayu_template."

  • php天翼开放平台短信发送接口实现方法

    本文实例讲述了php天翼开放平台短信发送接口实现方法.分享给大家供大家参考.具体分析如下: 临时性需求,研究了一下天翼开发平台的东西,用来发送验证码还是不错的,但是每日限额不多,所以很鸡肋,但是保证100%到达 买的话还是蛮贵的,代码没有做任何优化处理,只是测试是否可以实现接口,用的同学记得完善代码,刚写完老大又说是鸡肋的东西,不用了,代码放在博客记录下,代码如下: 复制代码 代码如下: <?php // date_default_timezone_set('PRC'); //获取access_

  • C#怎么实现手机短信发送功能

    为了个人信息的安全,很多网站都有短信发送的功能,究竟是怎么实现的呢?对于个人站长来说的话,通过使用SMS短信通API接口相对比较划算和简单.那怎么实现呢,步骤如下: 1. 从网上(http://sms.webchinese.cn/)申请账号,记住用户名,密码会发到手机上,这仅是登陆密码.注册后会送5条短信.和3条彩信的发送量. 2.查看SMS短信通API下行接口(http://sms.webchinese.cn/api.shtml),然后获取秘钥,其实就是加密后的登录密码.开始敲代码,相关代码如

随机推荐