如何与Whatsapp联系人分享位置?

时间:2014-11-18 03:28:55

标签: android location whatsapp

我想将我的位置分享给Whatsapp联系人。

我不知道我必须使用的mimeType是什么。这是我要分享的代码:

Intent waIntent = new Intent(Intent.ACTION_SEND);
waIntent.setPackage("com.whatsapp");
waIntent.setType("text/plain");
waIntent.putExtra(Intent.EXTRA_TEXT, "geo:23.1097,-82.4094");
startActivity(waIntent);

但这只发送一个纯文本,而不是像Whatsapp那样的位置。有什么想法??

1 个答案:

答案 0 :(得分:0)

注意:我没有(并且不想拥有)Whatsapp但也许我的发现可以帮助你

因为“geo:...”是一个uri(定义为here),你应该把它包装成Uri并将其作为数据发送。

此代码适用于其他位置感知的Android应用,例如GoogleMaps

String uriString = "geo:23.1097,-82.4094";

Intent waIntent = new Intent();
// waIntent.setPackage("com.whatsapp");
Uri uri = Uri.parse(uriString);

waIntent.setData(uri); // finds several apps on my phone including googleMaps
// waIntent.setDataAndType(uri, "*/*"); // does not work on my phone: nothing found
Toast.makeText(this, appName + "Starting " + uriString, Toast.LENGTH_SHORT).show();

try {
    this.startActivity(Intent.createChooser(waIntent,"Choose app to show location"));
} catch (Exception e) {
    Toast.makeText(this, appName + e.getMessage(), Toast.LENGTH_SHORT).show();
    e.printStackTrace();
}

你也可以检查whatsapp是否也理解这一点