通过短信发送我当前的位置 - Android

时间:2013-08-26 05:36:37

标签: android url gps sms location

我是一个新的Android开发人员。 我想发送包含我当前位置的短信。我知道如何获得我的位置坐标。但我想要的是像URL一样发送,用户可以打开并查看我的位置(例如:使用waze,您可以分享您的位置,我认为也可以使用谷歌地图应用程序)。我尝试使用谷歌地图API,但我没有找到生成URL的选项。

任何人都可以提供一些想法吗?或者API?

谢谢大家!!!

4 个答案:

答案 0 :(得分:7)

我想这就是你需要的。

public void sendLocationSMS(String phoneNumber, Location currentLocation) {
    SmsManager smsManager = SmsManager.getDefault();
    StringBuffer smsBody = new StringBuffer();
    smsBody.append("http://maps.google.com?q="); 
    smsBody.append(currentLocation.getLatitude());
    smsBody.append(",");
    smsBody.append(currentLocation.getLongitude());
    smsManager.sendTextMessage(phoneNumber, null, smsBody.toString(), null, null);
}

我会使用地图叠加而不是默认地图。

我开发了一个使用位置功能并在地图中显示的应用。在google play上看到它。

“Wherez U”https://play.google.com/store/apps/details?id=com.kabhos.android.apps.knowmylocation

答案 1 :(得分:2)

String uri = "http://maps.google.com/maps?saddr=" + currentLocation.getLatitude()+","+currentLocation.getLongitude();

    SmsManager smsManager = SmsManager.getDefault();
    StringBuffer smsBody = new StringBuffer();
    smsBody.append(Uri.parse(uri)); `
smsManager.sendTextMessage(phonenumber, null, smsBody.toString(), null, null);

你必须将该字符串解析为uri。它对我有用

答案 2 :(得分:1)

参考此链接 http://javapapers.com/android/get-current-location-in-android/

获取后使用sms api发送该位置。

答案 3 :(得分:-1)

我也遇到了同样的问题,并且无法生成要发送给接收方的URL,我发现了这一点。在这里,我有一个链接,我们必须通过发送者的当前位置的LAT和LONG,然后您必须将此链接发送到您的接收器。 https://www.google.com/maps/preview/@(latitude),(longitude),(zoom级别)z https://www.google.com/maps/preview/@-15.623037,18.388672,8z

您也可以先尝试在浏览器中打开此链接,然后将其应用到您的项目中