我想知道我是否可以依靠Android上的国家,MCC等电话值来查看我的应用。我可以使用setprop在运行中更改它们吗?我试着改变使用setprop它似乎没有工作。从我的理解电话管理器是一个类/接口,它表示GSM或CDMA的硬件配置。在GSM的情况下,这可能是SIM卡,在CDMA的情况下,它可能是硬件。我的问题是:电话管理器值是否可靠且可更改(cdma)?
- 谁在这两种情况下第一次更新这些值?
- 这些值是否被操作系统保存为只读?
- 如果用户旅行到不同的国家或地区,会如何自动更新某些值(如国家代码和MCC值)?
- 我可以重置这些值吗?
我无意改变任何这些值,但想了解它的工作!如果有人能帮助我,我将不胜感激。
我找到了解决CDMA手机上这个问题的方法..如果是CDMA手机,那么手机总是有一个ICC硬件与GSM中的SIM卡相媲美。你所要做的就是使用与硬件相关的系统属性。以编程方式,您可以使用Java反射来获取此信息。这与GSM设备不同,即使系统根源也不可改变。 类> c = Class.forName(“android.os.SystemProperties”); 方法get = c.getMethod(“get”,String。类); String homeOperator =((String)get.invoke(c,“ro.cdma.home.operator.numeric”)); – rana 2012-07-23 19:00:30
这是有用的信息,感谢分享! – kenota 2012-07-24 09:15:52
请注意,当某人刚好*靠近边界时,这不可能导致误报。就像在你邻居国家的视野中在海滩上一样。在我住的所有时间都会发生。 – 2012-07-29 15:33:56