分享意图位置

时间:2015-04-28 03:40:14

标签: android android-intent location

我一直试图通过whatsapp通过共享意图发送一个位置,我的代码到目前为止:

<div ng-click="updateVar();">Toggle</div>
...
$scope.updateVar = function() {
  $scope.myVar = !$scope.myVar;
};

问题是,当应用选择器打开时,它只显示&#34;谷歌地图&#34;并且&#34; waze&#34;。我如何修改它以便我可以通过支持whatsapp或facebook等位置的许多其他应用程序发送它?

1 个答案:

答案 0 :(得分:1)

尝试使用下面的代码,这是官方文档中的一个示例。

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my location to send.");
sendIntent.setType("text/plain");
startActivity(sendIntent);

public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.share, menu);
    MenuItem item = menu.findItem(R.id.share_item);
    actionProvider = (ShareActionProvider) item.getActionProvider();

    // Create the share Intent
    String shareText = URL_TO_SHARE;
    Intent shareIntent = ShareCompat.IntentBuilder.from(this)
        .setType("text/plain").setText(shareText).getIntent();
    actionProvider.setShareIntent(shareIntent);
    return true;
}

另一个选项是,您可以直接指定应用程序,通过向您的意图添加包名来打开您的意图。

sendIntent.setPackage("com.whatsapp");
startActivity(sendIntent);

有关详情,请查看文档whatsappandroid