Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >迁移iPhone手机短信、音乐、铃声、录音到华为手机

迁移iPhone手机短信、音乐、铃声、录音到华为手机

原创
作者头像
颇忒脱
修改于 2023-09-12 03:00:56
修改于 2023-09-12 03:00:56
2.4K1
举报

如何将Iphone的短信迁移到华为手机的方法。

短信迁移

传统的办法是使用isms2droid,但是在写本文时isms2droid无法使用,可能与谷歌禁止华为安装谷歌服务有关。因此采用了另一种方法。

注意:本文中提到的有些网站需要访问国外网站才可以访问。

第一步

还是按照isms2droid的方法,提取到3d0d7e5fb2ce288813306e4d4636395e047a3d28文件,一定要注意,在备份Iphone到本机到时候不要加密备份。

  1. iPhone 连到电脑,采用非加密备份。
  2. 到(WindowsC:\Users[YourUsername]\AppData\Roaming\Apple Computer\MobileSync\Backup\ 或者(OS X)~/Library/Application Support/MobileSync/Backup/ (你得在 Finder 中使用 Cmd + Shift + G 打开 前往文件夹 才能进入该目录) 搜索对应文件。
  3. 找到 3d0d7e5fb2ce288813306e4d4636395e047a3d28 文件复制出来。

第二步

其实3d0d7e5fb2ce288813306e4d4636395e047a3d28就是一个SQLite3的dump文件,因此可以导入它然后将其输出成“SMS Backup and Restore”的xml格式文件。

本文采用的是这篇文章所提供的php脚本,不过它的脚本存在一些bug,导出的短信时间存在问题(这个问题在这篇文章里也有提到过)。因此我作了一些修改,代码在gist

也可以直接复制这里的:

代码语言:php
AI代码解释
复制
#!/usr/bin/php5
<?php

if (count($argv) <> 2) {
    print "Usage: ".$argv[0]." iPhone-SMS-DB (Usually 3d0d7e5fb2ce288813306e4d4636395e047a3d28.*)\n";
    exit -1;
}

$DBfile = $argv[1];

if (! is_readable($DBfile)) {
    print "File $DBfile is not readable!\n";
    exit -2;
}

try {
    $sqlite = new SQLite3($DBfile);
} catch (Exception $exception) {
    echo '<p>There was an error connecting to the database!</p>';
    echo $exception->getMessage();
    exit -3;
}

$query  = "
    SELECT datetime(message.date / 1000000000, 'unixepoch', '+31 years') AS Datum, 
	   CAST(strftime('%s', datetime(message.date / 1000000000, 'unixepoch', '+31 years')) AS INT) * 1000 AS Date,
     message.is_from_me, 
	   handle.id AS Contact, 
	   message.text,
	   message.service
    FROM message, handle 
    WHERE message.handle_id = handle.ROWID;
";

$sqliteResult = $sqlite->query($query);
if (!$sqliteResult) {
    // the query failed and debugging is enabled
    echo "There was an error in query: $query\n";
    echo $sqlite->lastErrorMsg();
    exit -4;
}


$smses = array();
while ($record = $sqliteResult->fetchArray()) {
    $sms = array();
    $sms['Datum'] = $record['Datum'];
    $sms['Date'] = $record['Date'];
    $sms['is_from_me'] = $record['is_from_me'];
    $sms['Contact'] = $record['Contact'];
    $sms['text'] = $record['text'];
    $sms['service'] = $record['service'];
    $smses[] = $sms;
}

$sqliteResult->finalize();
$sqlite->close();

print "<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>\n";
print "<?xml-stylesheet type='text/xsl' href='sms.xsl'?>\n";
print "<smses count=\"".count($smses)."\">\n";
foreach ($smses as $key => $sms) {
    $body = $sms['text'];
    $body = str_replace('&', '&amp;', $body);
    $body = str_replace('"', '&quot;', $body);
    $body = str_replace("\n", '&#10;', $body);
    print '  <sms ';
    print 'address="';
    print $sms['Contact'];
    print '" date="';
    print $sms['Date'];
    print '" type="';
    print ++$sms['is_from_me'];
    print '" body="';
    print $body;
    print '" readable_date="';
    print $sms['Datum'];
    print '" service="';
    print $sms['service'];
    print '" />';
    print "\n";
}
print "</smses>\n";

执行:

代码语言:shell
AI代码解释
复制
php iphone-sms-xml.php 3d0d7e5fb2ce288813306e4d4636395e047a3d28 > sms.xml

得到sms.xml文件。

第三步

在你的华为手机上安装“SMS Backup and Restore”,需要注意的是这个软件在华为应用市场上是找不到的,你需要自行找一个地方下载APK文件安装。我是在这个网站下载到的。

第四步

把前面的sms.xml传到你的手机上,然后运行“SMS Backup and Restore”恢复短信。

恢复过程中会提示你把 “SMS Backup and Restore” 作为默认短信应用,照做就是。

恢复完成后,打开系统自带的短信,把它设置会默认短信应用即可。

大功告成!

音乐、铃声、录音迁移

步骤

1)把你的 iPhone 插到 Mac 上

2)打开 Mac 上的 音乐

3)选择 文件 - 资料库 - 导出资料库,随便选一个位置保存资料库 xml 文件

  • 我有点不太确定,也可能是通过 Mac 备份 iPhone 到本地(非加密)产生的了下一步的文件,都试试吧

4)导出后,打开 Finder ,进入目录 音乐 - iTunes - iTunes Media,你会看到这么几个目录:

  • Apple Music,你在 iPhone 上购买 / 收藏的音乐,这个这是一个清单,没有实体音乐
  • Downloads-Music,这个是你 iPhone 上下载的音乐文件
  • Music,不太清楚,可能是你上传到 iPhone 的音乐文件
  • Tones,铃声文件,是 m4r 格式的,也许华为不认,你可以网上找工具转换成 mp3 格式
  • Voice Memos,语音备忘录,也就是录音文件

对应的华为目录

打开华为手机的 文件管理 - 内部存储:

  • 录音文件,放到 Sounds 目录下
  • 通话录音文件,放到 Sounds - CallRecord 目录下
  • 音乐文件,放到 Music 目录下

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
1 条评论
热度
最新
php代码怎么 执行能详细一点吗
php代码怎么 执行能详细一点吗
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
导出iPhone所有短信到Excel
一开始打算网上找到垃圾短信样本,但找了好久没找到,于是就想到用自己和家人手机里的短信,毕竟手机里短信一般不删除,也有小几千条,而且垃圾短信、推销、广告之类的应有尽有。
莫空9081
2023/03/27
1.1K0
短信过滤 APP 开发
一直想开发一个自己的短信过滤APP,但是一直没有具体实施,现在终于静下心来,边开发边记录下整体的开发过程。
莫空9081
2023/09/11
5700
获取手机短信内容
原理是通过,contentprovider获取系统短信数据库中的字段信息而达到获取内容目的 效果图如下: 具体代码如下: package com.internal.message;   impor
xiangzhihong
2018/01/29
3.4K0
获取手机短信内容
python 获取itune中存放的手机短信
import os import sqlite3 import optparse
用户5760343
2019/07/31
2.5K0
python 获取itune中存放的手机短信
android-短信验证功能,Android实现获取短信验证码的功能以及自定义GUI短信验证详解…
《Android实现获取短信验证码的功能以及自定义GUI短信验证详解》由会员分享,可在线阅读,更多相关《Android实现获取短信验证码的功能以及自定义GUI短信验证详解(8页珍藏版)》请在人人文库网上搜索。
全栈程序员站长
2022/09/15
3.9K0
Python发手机短信
当然了,天下没有免费的午餐,能用这个功能,肯定有人在为你付费,这是印尼的一个服务商在为你默默提供
py3study
2020/01/15
6K0
Android 存储学习之保存系统短信到SD卡
本节学习,保存系统短信到SD卡中。既然是要保存系统短信到SD卡中,前提是先要拿到系统的短信,关于如何读取系统的短信,请看我的关于ContentProvider文章:
DragonKingZhu
2022/05/08
1.1K0
Android 存储学习之保存系统短信到SD卡
zabbix短信报警_手机短信监听
[ ] zabbix-短信报警(参考 http://hanyun.blog.51cto.com/1060170/1604918 )
全栈程序员站长
2022/11/15
14K0
使用java在项目完成手机短信登录
手机号登录在现在的项目中用的场景非常多,实现起来也不难,今天我们就一起来通过演示实现登录过程。
全栈程序员站长
2022/08/01
2.2K0
使用java在项目完成手机短信登录
C#版使用融合通信API发送手机短信息
融合云通信服务平台,为企业提供全方位通信服务,发送手机短信是其一项核心功能,本文将讲述如何使用融合云服务API为终端手机用户发送短信信息,并使用 C# 进行实现。
初九之潜龙勿用
2024/11/24
1620
C#版使用融合通信API发送手机短信息
java实现手机短信验证全过程
手机短信验证现在在各种系统可以说都是用的非常普遍的,这个可能是方便和安全性的考虑,所以才广泛的使用,这篇文章就以一个短信接口的实例,来讲解一下怎么使用短信接口。
好好学java
2018/06/16
3.7K0
java实现手机短信验证全过程
Python3利用Twilio(国际)以及腾讯云服务(国内)免费发送手机短信
    短信服务验证服务已经不是什么新鲜事了,但是免费的手机短信服务却不多见,本次利用Python3.0基于Twilio和腾讯云服务分别来体验一下国际短信和国内短信接口。
用户9127725
2022/08/08
5.3K0
Python3利用Twilio(国际)以及腾讯云服务(国内)免费发送手机短信
[android] 短信的备份
/data/data/com.android.providers.telephony/databases/mmssms.db
唯一Chat
2019/09/10
2.2K0
Android 存储学习之保存系统短信到SD卡(使用XML序列化器)
我在插入消息内容的时候,在追加内容里面加了个 </body>。 这样就会出现解析错误的
DragonKingZhu
2022/05/08
6090
Android 存储学习之保存系统短信到SD卡(使用XML序列化器)
[android] xml文件的序列化
生成xml文件,模拟备份短信,创建短信的业务bean,创建一个domain的包放业务bean,这个业务bean里面,定义成员属性,生成get set方法,生成有参和无参的构造方法。
唯一Chat
2019/09/10
8080
windows moblie 5.0在托管程序中实现短信接收和拦截
该文介绍了如何在Windows Mobile 5.0下使用.NET Compact Framework实现短信的接收和拦截,包括安装Windows Mobile 5.0 Pocket PC SDK、开发工具Visual Studio 2005、安装实例程序以及编写代码实现拦截短信功能。
Jianbo
2018/01/02
1.8K0
Android SMS(一) —— 读取短信
记得在AndroidManifest.xml中加入android.permission.READ_SMS这个permission
阳光岛主
2019/02/19
5.8K0
Android SMS(一) —— 读取短信
024android初级篇之Android常用调试命令
会有从开机之后详细的dumpsys,dumpstate和logcat信息,是一份完整的日志记录。对分析用户行为,异常信息,系统状态有很大的参考作用
上善若水.夏
2018/09/28
8850
如何监控别人的手机
关于大家一直说怎么使用,我来简单的说明一下吧,讲工程文件中的apk文件安装在你想监控的人的手机中,然后随便找个手机给他
知识与交流
2023/03/25
2.3K0
如何监控别人的手机
Android开发笔记(五十四)数据共享接口ContentProvider
前面几节介绍了进程间通信的几种方式,包括消息包级别的Messenger、接口调用级别的AIDL、启动页面/服务级别的Notification,还有就是本节这个数据库级别的ContentProvider。 ContentProvider为存取数据提供统一的接口,它让不同APP之间得以共享数据。ContentProvider类本身是个服务端的数据存取接口,主要操作类似SQLite,也都提供了如下常见的数据库管理API: query : 查询数据。 insert : 插入数据。 update : 更新数据。 delete : 删除数据。 getType : 获取数据类型。 实际开发中,APP很少会开放数据接口给其他应用,所以ContentProvider类作为服务端接口反而基本用不到。Content组件中能够用到的场合,基本上是APP想要使用系统的手机通讯数据,比如查看联系人/短信/彩信/通话记录,以及对这些通讯信息进行增删改。
aqi00
2019/01/18
1.5K0
相关推荐
导出iPhone所有短信到Excel
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档