android - 在 map 中检测电话

标签 android gps geolocation distance phone-number

我远不是 Android 编程方面的专家,所以我不知道这是否可能,所以让我将我的疑问分成三个问题:

1) Android 应用程序是否有可能在先前给定的半径(例如 5 公里)内检测到 map 中安装了相同应用程序的所有其他 Android 设备?

2) 如果是,是否也可以显示他们的电话号码(当然要征得他们的同意)?

3) 一个有经验的 Android 程序员大约需要多少时间来做这件事?

最佳答案

回答你的问题

  1. 是的!可能提供

    • 规定半径内的所有用户都应该启用 GPS,并且您应该将所有用户当前坐标的纬度/经度(或者至少应该定期保存最后已知的坐标)保存在数据库中。

    • 要计算 5 公里半径,您可以使用 oracle 查询和函数,该函数会为您提供最接近的人列表。下面的函数为您提供了 2 个以公里为单位的地理坐标之间的距离。 create or replace FUNCTION CALC_DISTANCE (Lat1 IN NUMBER, Lon1 IN NUMBER, Lat2 IN NUMBER, Lon2 IN NUMBER) RETURN NUMBER IS -- Convert degrees to radians DEGTORAD NUMBER := 57.29577951; Radius NUMBER := 6387.7; BEGIN RETURN(NVL(Radius,0) * ACOS((sin(NVL(Lat1,0) / DegToRad) * SIN(NVL(Lat2,0) / DegToRad)) + (COS(NVL(Lat1,0) / DegToRad) * COS(NVL(Lat2,0) / DegToRad) * Cos(Nvl(Lon2,0) / Degtorad - Nvl(Lon1,0)/ Degtorad)))); END;

    • 通过使用类似 SELECT * FROM USER_LIST WHERE CALC_DISTANCE(MY_LAT,MY_LONG, USER_LAT, USER_LONG) <=5 ; 的选择查询您可以细化最接近的用户列表并向请求信息的用户显示。

    • 这会耗尽电池电量,因此建议不要动态列出好友。相反,用户可以使用“查找用户”之类的东西,然后您的应用可以列出最近的用户。

  2. 通过 Android 应用程序获取电话号码取决于手机运营商和提供商。因此,我们无法保证自动获取手机号码并提供给其他用户。但是,如果您在用户首次登录时手动获取所有用户的手机号码,则这是可能的。然而,代码 fragment 可在此处获得 Programmatically obtain the phone number of the Android phone .但请注意,我们观察到,在大多数印度数字中,这是行不通的。

  3. 这取决于其他因素,我不是发表评论的合适人选!

关于android - 在 map 中检测电话,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24181006/

相关文章:

iphone - 室内 WiFi 定位在追踪运动方面的准确度如何?

c# - unity C# 如何获取玩家的国家、城市或位置

java - 为什么有些类在 Android 支持库中不公开?

c - GPS 解析器功能不适用于新接收器

ios - iOS后台任务选项有哪些

ios - 计算位置的度数

android - 'flavorDimension' 将被 Android Gradle Plugin 2.0 移除,它已被 'dimension' 取代

java - 使用传递的字符串调用资源

安卓开发 : AlarmManager Reschedule and Service

javascript - 地理定位找到我的位置不起作用