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