Android运营商应用程序应如何创建APN?

问题描述

鉴于您是运营商应用(由https://source.android.com/devices/tech/config/carrier定义),为api 28或更高版本的设备添加APN的正确方法是什么?

Android documentation讨论了如何提交AOSP补丁程序以将您的APN添加到AOSP代码库中,但这对于运营商应用程序并不是很有趣。 (这并不是说错了,因为运营商经常可以并且应该这样做。只是时间轴根本没有帮助;运营商应用需要立即添加APN,而不是从AOSP代码发布到现在的几年后设备。)

很久以前就有问题了(Create Network Access Point Name with code,差不多十年了),但这并不是现代的解决方法,特别是因为现在有ApnSetting.Builder这样的API。 / p>

解决方法

Google回答了我提交的错误(https://issuetracker.google.com/issues/160269621),并更新了文档。现在介绍添加APN(https://source.android.com/devices/tech/config/carrier#adding_apn):

使用运营商应用程序添加APNs要从 运营商应用(例如,在激活SIM卡期间),请使用ContentResolver 将APN项添加到URI标识的内容提供商的API android.provider.Telephony.Carriers.CONTENT_URI。欲获得更多信息 有关内容URI的表结构的信息,请参阅Telephony.Carriers。

有关更多信息,请参阅APN和CarrierConfig。