【发布时间】:2011-10-27 05:25:43
【问题描述】:
我有一个应用程序需要朋友的位置(经纬度)使用他们的手机号码。谁能给我一些想法如何做到这一点?
【问题讨论】:
-
手机号码是手机号码?
-
是的,我也纠正了它。
标签: android android-widget geolocation gps android-manifest
我有一个应用程序需要朋友的位置(经纬度)使用他们的手机号码。谁能给我一些想法如何做到这一点?
【问题讨论】:
标签: android android-widget geolocation gps android-manifest
您永远无法仅通过手机号码获取他人的位置,这就像跟踪一样。
Google 提供了一项名为 Latitude 的服务,这是一种更好的合法方式。
否则,如果两个用户有相同的应用程序,他们应该将他们的位置(从 Cell ID 或 GPS 获得)推送到 Web 服务器(您将处理它)。然后,您可以使用您的网络服务交换位置坐标。供参考,请查看表 1 over here
检测短信的代码
public class IncomingSmsCapture extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
String data = "";
if (bundle != null)
{
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i=0; i<msgs.length; i++){
msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
String sender = msgs[i].getOriginatingAddress();
data = msgs[i].getMessageBody().toString();
// parse the data and extract the location, then convert to an Address using the GeoCoder.
} } } }
【讨论】:
使用 CellID。CellID 是与特定小区(您的手机连接到的无线电塔)相关联的数字。在大多数情况下,这是离您所在位置最近的塔。所以通过知道这个塔的位置,你就可以知道手机大概在哪里。
为了更好的想法看看这里
Adding location to a non GPS phone: introducing CellID
现在,如果您知道您的朋友的 cellId,那么您就可以知道他们的位置。另一种方式
Developing Location Based Services: Introducing the Location API for J2ME
【讨论】: