Android自带邮箱数据导出

首先要有root权限,用RE管理器进入/data/data/com.android.email,此为Android设备自带邮箱存储文件夹。


其中消息都以数据库的方式保存在databases文件夹下,为了查看方便,我将其导出到电脑,用sqlite database browser查看,用手机RE查看也是可以的。


一般目录结构如图所示:

0

这里我们重点放在EmailProvider.dbEmailProviderBody.db上。


1.用sqlite database browser打开EmailProvider.db,如图:

1

切换到Browse Data标签

account表里可以看到账户信息:

2

HostAuth表里可以查看到密码信息(很可恶的是Android保存密码居然是明文的……):

2.1

当然重点在message表里,subject是邮件标题,snippet是内容片断(基本可以看到所有文本内容了):

3


attachment表里保存着关于附件的信息。


2.想看原汁原味的内容,可以打开EmailProviderBody.db数据库了:

直接进入body表了:

4

双击htmlContent列下任一字段,打开Edit database cell对话框,选择Export,将其保存为html文件,然后用浏览器打开即可。


如果浏览器打开显示乱码,只需更改浏览器的编码方式即可,一般为UTF-8或GBK。


至此可以告一段落。


Android中,将应用数据导出到外部USB存储(如U盘)通常涉及到文件操作和权限管理。以下是基本步骤: 1. **请求权限**: 首先,你需要在AndroidManifest.xml文件中添加`READ_EXTERNAL_STORAGE`和`WRITE_EXTERNAL_STORAGE`权限。对于API级别23及以上(Android 6.0 Marshmallow),需要在运行时动态请求权限。 ```xml <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> ``` 2. **检测USB设备**: 使用`MediaScannerConnection`或第三方库(如Android Storage Access Framework)来检测连接的USB设备,并获取可用路径。 3. **创建文件或目录**: 使用`java.io.File`类创建你要导出数据文件或目录。确保在USB设备上指定正确的路径。 4. **写入数据**: 将应用程序内的数据读取出来(例如从数据库、文件等),然后使用`FileOutputStream`或`BufferedOutputStream`写入到USB设备的相应文件中。 ```java FileOutputStream outputStream = new FileOutputStream(externalFilePath); byte[] dataToWrite = ...; // 应用数据 outputStream.write(dataToWrite); outputStream.close(); ``` 5. **更新媒体扫描器**: 如果数据是照片或音频视频文件,你可以调用`MediaScannerConnection.scanFile()`来通知系统已添加新的内容,以便在文件浏览器中自动显示。 ```java MediaScannerConnection.scanFile(context, new String[]{externalFilePath}, null, null); ``` 6. **清理资源**: 完成操作后,记得关闭所有打开的流和释放相关资源。 注意:不是所有的Android设备都支持直接通过USB连接写入文件,部分设备可能会有安全限制或者需要额外的适配措施。另外,务必处理好异常情况,并在用户断开设备或取消操作时提供相应的反馈。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值