Использование строки внутри общего ресурса ShareActionProvider

1

Я пытаюсь заставить ShareActionProvider работать, и я столкнулся с следующей проблемой:

Этот код работает:

      Intent shareIntent = new Intent(Intent.ACTION_SEND);
    shareIntent.setType("text/plain");
    shareIntent.putExtra(Intent.EXTRA_TEXT, "Text I want to share");

    MenuItem shareItem = menu.findItem(R.id.share);
    mShareActionProvider = (ShareActionProvider) shareItem.getActionProvider();
    mShareActionProvider.setShareIntent(shareIntent);

Но это не так:

      Intent shareIntent = new Intent(Intent.ACTION_SEND);
    shareIntent.setType("text/plain");
    shareIntent.putExtra(Intent.EXTRA_TEXT, webView.getUrl());

    MenuItem shareItem = menu.findItem(R.id.share);
    mShareActionProvider = (ShareActionProvider) shareItem.getActionProvider();
    mShareActionProvider.setShareIntent(shareIntent);

Почему это?

  • 0
    Вы уверены, что getUrl() возвращает правильное значение? А что значит «не» в отношении «работ»?
  • 1
    @CommonsWare Я только что понял это сам, я вызывал mShareActionProvider.setShareIntent (), когда было создано меню, до того, как веб-просмотр загрузил страницу.
Показать ещё 1 комментарий
Теги:
share
android-intent
action
provider

1 ответ

0

Я не уверен, но попробуйте

shareIntent.putExtra(Intent.EXTRA_TEXT, webView.getUrl().toString());

вместо

shareIntent.putExtra(Intent.EXTRA_TEXT, webView.getUrl());

Ещё вопросы

Сообщество Overcoder
Наверх
Меню