如何获得朋友的位置(经度和纬度)?

时间:2011-10-27 05:25:43

标签: android android-widget geolocation gps android-manifest

我有一个应用程序需要朋友的位置(lon& lat)使用他们的手机号码。任何人都可以告诉我如何做到这一点?

2 个答案:

答案 0 :(得分:6)

你永远不能仅仅通过手机号码获得别人的位置,就像跟踪一样。

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. 
}    }   }   }

答案 1 :(得分:1)

使用CellID.A CellID是一个与特定小区(手机所连接的无线电塔)相关联的号码。在大多数情况下,这是离您所在地最近的塔楼。因此,通过了解此塔的位置,您就可以了解手机的大致位置。

为了更好的想法,请看这里

Adding location to a non GPS phone: introducing CellID

现在,如果你知道你的朋友cellId,那么你可以知道他们的位置。另一种方式

Developing Location Based Services: Introducing the Location API for J2ME