我正在开发一个小应用来检查我所在地区的各种网络运营商的信号强度.我目前的操作员信号非常不稳定,我想研究其他GSM运营商的实力.
Sofar我一直在使用TelephonyManager和带有onSignalStrengthsChanged回拨的PhoneStateListener来获取当前网络运营商的GSM信号强度,但似乎这个类只给我关于连接到我的SIM卡的网络信号强度的信息.
我对测量所有可用运营商的GSM信号强度感兴趣.搜索网络给出了使用内部android类的模糊提示,但我还没有找到任何好的例子.
任何能够让我获得所有可用网络运营商列表及其信号强度的答案都是适用的.
当我们试图获取附近的细胞及其LAC,MNC,信号(以及使用其他Android应用程序时)时,我们将信号作为负值(如-85dbm).我该怎么做?我应该忽略-ve sign并取绝对值,否则-85的强度小于-60?
这将如何影响我的位置查找?
首先,我试图在c#(.net 4)中做所有这些灾难,所以如果你拿出一些代码来帮助我,那将是值得赞赏的,但实际上任何事情都会有所帮助.
我有一种情况,我有一个设备只能获得GSM Cell信息(顺便通过AT+KCELL
命令)所以我有一组关于蜂窝塔的值(每个都有LAC,MCC,MNC,Cell ID,信号强度和第一个时间预先).因此,我认为,我处在一个能够提出某种经度和纬度坐标的好地方(尽管不准确,但是,好吧).这是我寻求帮助的地方,因为现在我的小脑子很困惑......
我可以看到提供单元代码解析的各种服务(Google,Open Cell ID等),他们将LAC,MCC等作为参数并返回一个坐标.因此,我认为他们返回的将是我传入的特定塔的坐标.所以在我的情况下,我可以发送我拥有的所有LAC等,并获得经度和纬度的集合.很棒,但这不是我的设备所在.现在我觉得我需要做一些三角测量,而这正是我缺乏知识伤害了我的地方.
那么到目前为止我是对的吗?假设我是,我该怎么做这个计算(有什么东西可以告诉我如何处理所有这些数字,或者更好的是,一些开源库我可以参考并提供所有这些东西以获得明智的东西) ?
我假设我需要使用定时提前计算出距离手机信号塔一些近似距离(可能以某种方式使用信号强度),但我该怎么做?正如你所知道的那样 - 我在这里超出了我的深度!
例如,我可以从前面提到的AT命令中找到这个:
5,74,33,32f210,157e,8101,50,0,79,3,32f210,157e,80f7,37,64,5,32f210,157e,810b,37,55,32,32f210,157e,9d3,27,41,33,32f210,157e,edf8,15
Run Code Online (Sandbox Code Playgroud)
打破它并解析它我会得到(我希望我解析正确 - 当然我的解析例程中有一个错误,但它看起来很合理):
Number of cells: 5
Run Code Online (Sandbox Code Playgroud)
细胞1
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 33025
Signal: 80
ARFCN: 74
BSIC: 33
Timing advance: 0
Longitude: 14.2565389
Latitude: 48.2248439
Run Code Online (Sandbox Code Playgroud)
细胞2
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 33015
Signal: 55
ARFCN: 79
BSIC: 3
Longitude: 14.2637736
Latitude: 48.2331576
Run Code Online (Sandbox Code Playgroud)
细胞3
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 33035
Signal: 55
ARFCN: …
Run Code Online (Sandbox Code Playgroud) 任何旧的GSM兼容SIM卡(3G USIM的奖金).
我认为我需要一些硬件?任何人都可以为爱好者推荐便宜的东西,还有更专业的东西?
我假设有一个带有h/w的API的完整文档,所以也许这应该被标记为"无编程相关"?对不起,如果是的话.
任何好的URL或书籍(我熟悉3GPP标准).
我不是(黑帽子)黑客,不用担心,只是不喜欢SIM卡秘书,数据医生恢复等等,所以想自己编码,但可能会把它变成商业广告,或提供SIM卡编程服务(数据从损坏的卡中恢复等)作为副业.
更新:虽然我主要感兴趣的是只是阅读我的短信进行备份,如果有人知道一个便宜的SIM卡编写器(这样我可以备份全部或部分SIM卡并在以后恢复),这可能是一个奖励.
我需要检索iOS 5.1(iPhone 4S)中当前服务细胞塔的CellID,MCC,MNC,LAC和网络(GSM,3G).我知道这些信息是可用的,因为我可以在FieldTest模式下看到它(在调用****3001#12345#****后可访问).我想它可以通过私有/未记录的iOS框架访问.
在问题iphone中,检查cellId/Lac的值,作者表示我可以在iOS上获取无线电信息cellId,Lac,MNC,MCC,但是没有提供有关如何执行此操作的信息.
谁能告诉我如何获取这些信息?
从API 21开始,Google一直在为android.telecom添加功能,特别是通过实现更多的TelecomManager成员和添加InCallService.最后一个应该允许非系统的第三方应用程序提供和替换系统Calls app in-call屏幕的功能 - 弹出的窗口允许操作EXTRA_STATE_OFFHOOK
或EXTRA_STATE_RINGING
广播(即传入和传出的电话呼叫) ).
目前,只有这个屏幕可以完全控制振铃和活动呼叫以及具有细粒度信息的相关系统回调,通过根限制MODIFY_PHONE_STATE
权限和许多安全的AOSP代码甚至无法通过反射访问.它特别是不同制造商的ROM风格中最变化的代码之一,以及发射器,触点和相机.
这一切都非常漂亮,但......
你如何实际开发第三方InCallService?
即:
我不会立刻问所有这些问题的答案,但任何一个答案都可能与其他问题有关.这是广泛的,但本质上它需要是:在网络上没有任何例子我偶然发现了AOSP代码,而且该代码基于root权限的假设,这使得它无法用于第三方应用程序开发目的.
(稍微更新一下)
我不是很熟悉使用PHP的国际化,必须说,并且一些搜索并没有真正提供我正在寻找的答案.
我需要制定一种可靠的方法,只使用PHP将"相关"文本转换为Unicode以发送SMS消息(暂时,使用C#重写服务) - 显然,此时发送的消息将被发送作为纯文本.
我可以想象将所有内容转换为Unicode字符集(而不是使用标准的GSM字符集),但这意味着所有消息都将限制为70个字符(而不是160个字符).
所以,我想我真正的问题是:检测消息需要进行Unicode编码的最可靠方法 是什么,所以我只需要在绝对必要的 时候这样做(例如对于非拉丁语言字符)?
好吧,所以我早上都在为此工作,而且我还没有比我开始时更进一步(当然由于我在charset转换方面完全缺乏能力).所以这是修改后的场景:
我有来自外部源的文本SMS消息,这个外部源以纯文本+ Unicode斜线转义字符提供给我的响应.例如'显示'文字:
让我们来测试öäüéàèאיןתמיכהבעברית
返回:
让我们测试\ u00f6\u00e4\u00ec\u00e0\u00e8\u00f0\u00e0\u00e8\u05d0\u05d9\u05df\u05ea\u05de\u05d9\u05db\u05d4\u05d1\u05e2\u05d1\u05e8\u05d9\u05ea
现在,我可以用明文,GSM 03.38或Unicode发送给我的SMS提供商.显然,将上述内容作为明文发送会导致大量缺失的字符(它们被我的提供者替换为空格) - 我需要采用与内容有关的内容.我想要做的是以下内容:
如果所有文本都在GSM 03.38代码页内,请按原样发送.(除了上面的希伯来字符以外,所有字符都适合此类别,但需要转换.)
否则,将其转换为Unicode,并通过多条消息发送(因为对于SMS,Unicode限制为70字符而不是160字符).
正如我上面所说的那样,我很难用PHP做这件事(由于内置一些简单的转换函数,C#并不是什么大问题),但很可能我只是错过了明显的问题.我在PHP中找不到任何用于7位编码的预制转换类 - 我试图自己转换字符串并发送它似乎是徒劳的.
任何帮助将不胜感激.
很快我可以使用SIP到GSM网关,因为我需要打电话从德国到捷克共和国的手机.因此,我考虑实施一个.
现在,问题是:
我们非常欢迎您的想法,建议和意见.
我正在使用SIM900 GSM模块连接到我的AVR微控制器.我用FT232测试它以查看传输数据.First Micro发送AT它会响应OK
AT OK
AT+CMGF=1 OK
AT+CMGS="+9893XXXXXX" returns ERROR and doesn't show ">"
Run Code Online (Sandbox Code Playgroud)
谁能告诉我该怎么办?
据我所知,诺基亚和其他一些手机(如iPhone)能够发送和接收0级短信,是否有可能为Android?Android有API吗?
什么是闪光短信?
Flash SMS是一种短信,在抵达后立即显示在电话屏幕上.
除非您选择保存Flash消息,否则它将在导航时消失,并且不会保存在您的收件箱中.
如果将多个闪存消息发送到一部电话,则仅显示最新消息,并且将覆盖之前的所有消息.
0级:表示此消息将立即显示在MS上,并将消息传送报告发送回SC.该消息不必保存在MS或SIM卡上(除非移动用户选择这样做).