【发布时间】:2018-07-20 11:08:03
【问题描述】:
我正在编写一个通过 MMS 发送 PNG 的 Android 应用程序。我遇到的一个问题是较大的图像被压缩成 JPG。因为图像格式必须是无损的,所以我需要知道用户的 MMS 字节限制(显然没有跨运营商标准化)。根据经验,我已经看到 300KB,但我想知道是否有办法以编程方式找到最大 MMS 大小,这样我就可以避免压缩。谢谢!
【问题讨论】:
我正在编写一个通过 MMS 发送 PNG 的 Android 应用程序。我遇到的一个问题是较大的图像被压缩成 JPG。因为图像格式必须是无损的,所以我需要知道用户的 MMS 字节限制(显然没有跨运营商标准化)。根据经验,我已经看到 300KB,但我想知道是否有办法以编程方式找到最大 MMS 大小,这样我就可以避免压缩。谢谢!
【问题讨论】:
在 Android M 及更高版本中,有一个公共 API:https://developer.android.com/reference/android/telephony/CarrierConfigManager.html
在 M 之前,API 是私有的。但是,您可以轻松访问这些值。 Android 依赖于存储在 MMS 服务 (https://android.googlesource.com/platform/packages/services/Mms/+/lollipop-dev/res/) 中的 XML 文件中的预定义值。您可以将这些值导入您的应用程序,或在运行时从 /system/priv-app/MmsService/MmsService.apk 中提取它们(该文件是世界可读的)。
【讨论】: