2015-04-28 2 views
0

Я пытался отправить местоположение с помощью акций намерения через WhatsApp, мой код до сих пор:Share Намерение место

String uri = "geo:" + currentLoc.getLatitude() + "," +currentLoc.getLongitude() + "?q=" + currentLoc.getLatitude() + "," + currentLoc.getLongitude(); 
      Intent i=new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(uri)); 
      startActivity(i); 

Проблема заключается в том, что, когда приложение Chooser открывает его только показывает «Google Maps» и "Waze". Как мне изменить его, чтобы я мог отправить его многими другими приложениями, поддерживающими местоположение, например Whatsapp или Facebook?

ответ

0

Попробуйте использовать приведенный ниже код, это пример из официальной документации.

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); 

Пожалуйста, для получения дополнительной информации ознакомьтесь документации whatsapp и android.

Смежные вопросы