所以,我正在构建一个应用程序来将我的所有消息(和 mms,带附件)从 iOS(iTunes 备份)复制到 Android Pie(OxygenOS)。
我浏览了 Android 的SmsManager.java文件,发现了两种方法:
importTextMessage(...)
完美地完成了 SMS 的工作!!importMultimediaMessage(...)
, 嗯.. 彩信很重要。
有人可以解释我如何使用importMultimediaMessage
吗?
前 2 个参数是什么?
我希望我可以只导入附件(byte[]
)并以某种方式将其链接到消息..
PS:这两种方法是内部 API 的一部分,因此没有很好的文档记录。
要在项目中使用它,我们必须:
- 使用 android.jar 的修改版本(请参阅此处的版本 28 github.com/anggrayudi/android-hidden-api)
从计算机运行以下命令
adb shell settings put global hidden_api_policy_pre_p_apps 1 adb shell settings put global hidden_api_policy_p_apps 1
根据developer.android.com/about/versions/pie/restrictions-non-sdk-interfaces
PS2:对于那些想知道我为什么要使用内部 API 的人,我不会发布这个应用程序。这只是出于个人目的。在我的所有消息恢复后,我可能会删除它。这就是为什么我可以随意使用 Android 的内部 API。
PS3:我也尝试了这个公认的答案(stackoverflow.com/a/15224716/2559851),但我不知道为什么,这里的res
变量总是空的
Uri res = context.getContentResolver().insert(partUri, mmsPartValue);