我想知道如果我可以依靠我的应用程序的电话值一样的国家,中冶等在Android上。 我可以改变他们使用setprop运行? 我尝试使用setprop它似乎没有工作发生变化。 从我的理解电话管理器是一个类/接口表示GSM或CDMA的硬件配置。 在GSM的情况下,这可能是SIM卡和CDMA情况下它反刍是硬件。 我的问题是:
- 谁的第一次更新两种情况下,这些价值观?
- 难道这些值由OS保存为只读?
- 如果用户旅行到不同的国家或地区将有什么样的一些国家代码和MCC值的值的自动更新?
- 我可以重新设置这些值?
我没有改变任何这些值的意愿,而是要了解它的工作! 我将不胜感激,如果有人可以帮助我在此。
据Android文档
提供对有关设备上的电话服务的信息。 应用程序可以使用的方法在这个类来确定电话服务和状态,以及访问某些类型的用户信息。 应用程序还可以注册一个监听器接收的电话状态变化的通知。
TelephonyManager用于读取手机信息。 关于你提到的有关MCC和MNC码的问题:是的,他们会改变时,手机会在其他国家。 您可以订阅这些事件,现在确定用户在不同的国家。
@Bo方式CDMA工作原理是从GSM不同。 CDMA一直有一个家庭基站和许多游客的基本位置。 你可以随时了解有关使用被认为是不可靠的CDMA TelephonyManager方法游客操作。
我决定将其添加为答案,以及...
我找到了一种方法,以解决CDMA手机上的这个问题..如果是CDMA手机,那么手机总是有一个ICC硬件媲美SIM卡在GSM。 你要做的是使用与硬制品相关的系统属性。 编程您可以使用Java反射来获取这些信息。 这是不能改变甚至系统不同于GSM设备扎根。 类别c =的Class.forName( “android.os.SystemProperties”); GET方法= c.getMethod( “获取”,String.class); 串homeOperator =((字符串)get.invoke(C, “ro.cdma.home.operator.numeric”));