我们可以通过Android中的用户电话号码找到用户吗?
Posted
技术标签:
【中文标题】我们可以通过Android中的用户电话号码找到用户吗?【英文标题】:Can we locate a user via user's phone number in Android? 【发布时间】:2014-01-27 03:44:08 【问题描述】:是否可以通过 android 中的用户电话号码定位用户?如果可以向用户发送 SMS,那么我们还可以检索或了解我们发送 SMS 的用户的位置。
我的意思是可以对以下功能进行编程:
-
应用向用户手机发送短信
应用在用户手机上收到来自短信发送者的短信
应用获取用户手机的位置坐标
应用通过短信向短信发送方发送位置坐标
除了 SMS、EMAIL 或 CALL 之外,是否可以通过用户的电话号码通过任何其他方式检索用户所需的位置?
Viber 和 VChat 应用如何通过用户的电话号码定位用户位置?
以下是应用商店中的一些应用:
-
Cell Tracker
Mobile Number & Phone Location
Mobile Number Locator
寻求可靠的答案。
【问题讨论】:
发件人应用是否知道自己的位置?发送方应用程序可以在接收方应用程序可以读取的短信中添加一些坐标。你想要的有可能吗? 我看不出使用短信有什么意义!这是强制性的吗? 【参考方案1】:是的,有条件的可能:
如果您在用户手机中安装了您的应用程序和一个与该应用程序通信的服务器应用程序,并且最后在用户手机中激活了一个定位服务提供商,以及一些可怕的 android 权限!
在大多数 android 手机中,有 3 个位置提供程序可以提供准确的位置 (GPS_PROVIDER 1m) 或估计的位置(NETWORK_PROVIDER 大约 2-20m)和 PASSIVE_PROVIDER(更多信息请参见 LocationManager 官方文档)。
1* 应用向用户手机发送短信
是的,可以是服务器应用程序,或者如果您想要自动化的东西,您可以创建一个 android 应用程序,因此您可以通过从您的默认 SMS 应用程序发送 SMS 手动完成!我使用Kannel:开源 WAP 和 SMS 网关和这里 (lot of APIs to send SMS)
2* 应用在用户手机上接收来自短信发送者的短信
是的,您可以获取所有收到的短信,并且可以按发件人电话号码过滤它们!并在收到您指定的短信时做一些动作,basic tuto here(我根据我的短信内容做一些动作)
3* 应用获取用户手机的位置坐标
是的,如果激活了位置提供程序之一,您可以轻松获取实际用户坐标,因此当用户激活位置提供程序之一时,您可以获得最后一个已知位置,如果那些禁用或手机没有 GPS 硬件您可以使用Open Cell Id api获取最近的小区坐标(10m-10Km)或Loc8 api 但这些在世界各地都不可用,有些应用程序使用IP location apis获取国家、城市和省,这里是@ 987654330@.
4* 应用通过短信向短信发送方发送位置坐标
是的,您可以在收到短信后立即或在一天中的指定时间获取发件人电话号码并发送用户位置。
(这 4 个是你的 :))
Viber 和其他访问用户位置的应用程序,通过要求他们向服务器应用程序发送 SMS 以创建帐户并激活免费服务(例如:VOIP),通过电话号码识别那里的用户,并提供一项服务可以:
监听位置变化(GPS、网络或小区 ID) 定期发送用户位置(例如:每 2 小时)或在用户位置发生变化时发送! 将用户位置存储在文件中并根据每日位置创建地图 接收短信并更新用户位置 接收服务器应用推荐并更新用户位置 当用户进入或离开定义的圈子时发送事件 听用户说什么并记录下来或打开实时 voip 通话:s 也许你想或你想做的任何事情:)!并且您的应用程序用户在安装它时必须接受所有这些,当然我不会安装这样的应用程序,因为我在安装之前读取了权限:) 权限可能是这样的:
<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.SEND_SMS"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<-- and more if you wanna more -->
最终用户会接受这样的事情(你询问的 android 应用程序的权限):
此应用有权访问这些权限:
您的帐户 - 创建帐户并设置密码 - 在设备上查找帐户 - 添加或删除帐户 - 在设备上使用帐户 - 读取谷歌服务配置
您的位置 - 近似位置(基于网络) -精确的位置(基于 GPS 和网络)
您的消息 - 接收短信(SMS) - 发送短信 - 编辑您的短信(短信或彩信) - 阅读您的短信(短信或彩信)
网络通信 - 从互联网接收数据 - 完全网络访问 - 查看 Wi-Fi 连接 -查看网络连接 -更改网络连接
电话 - 读取手机状态和身份 - 直接拨打电话号码
存储 -修改或删除 USB 存储的内容
您的申请信息 - 检索正在运行的应用程序 - 关闭其他应用程序 - 启动时运行
蓝牙 - 与蓝牙设备配对 - 访问蓝牙设置
相机 - 拍照和录像
其他应用程序用户界面 - 绘制在其他应用上
麦克风 - 录制音频
锁定屏幕 - 禁用屏幕锁定
您的社交信息 - 阅读您的联系人 -修改您的联系人 - 阅读通话记录 - 写通话记录 -阅读您的社交流 - 写入您的社交流
开发工具 -读取敏感日志数据
系统工具 -修改系统设置 - 发送粘性广播 -测试对受保护存储的访问
影响电池 -控制振动 - 防止设备休眠
音频设置 - 更改您的音频设置
同步设置 -读取同步设置 - 开启和关闭同步 -读取同步统计信息
壁纸 - 设置壁纸
【讨论】:
【参考方案2】:我检查了 play.google.com/store/apps/details?id=and.p2l&hl=en 他们根本没有定位用户的当前位置。 因此,他们根据数字本身来判断用户的位置。就像数字从 240(在美国)开始一样,他们说位置是马里兰州,但此人可以在加利福尼亚州。所以我认为他们根本不会通过 Java 的 LocationListner 获取用户的位置。
【讨论】:
【参考方案3】:快速回答:不,至少在原生 SMS 服务中不会。
长答案:当然可以,但是接收者的手机首先应该有正确的设置。检测传入短信的应用程序,如果关键字匹配,则将其当前位置报告给您的服务器,然后将该信息推送给发件人。
【讨论】:
您能否进一步解释和详细说明这种可能性(长答案)?谢谢 这是 Viber 和 VChat 应用程序定位用户位置的方式吗?请确认。 Playstore 上的这个应用怎么样?仅供参考:play.google.com/store/apps/details?id=and.p2l&hl=en【参考方案4】:答案是:你不能只通过短信,我以前尝试过这种方法。
您可以获取基站 ID,但是如果没有基站本身的位置,这对您没有多大帮助,而且这些信息很难从提供商那里检索到。
我查看了您在问题中列出的 3 个应用程序:
-
该应用程序使用 WiFi 和 GPRS 定位服务,与 Google 在手机上使用的方法完全相同。 phonesavvy 可能有一个基站位置数据库或使用检索到的数据库,例如来自 OpenStreetMap 或一些类似的基于人群的项目。
该应用程序仅分析国家代码和城市代码的数字。那里没有位置。
迪托。
【讨论】:
以上是关于我们可以通过Android中的用户电话号码找到用户吗?的主要内容,如果未能解决你的问题,请参考以下文章
无论如何要为Android中的来电和去电制作我的自定义用户界面吗?
是否可以使用代码在 Google Hangout 中拨打电话?