Подтвердить что ты не робот

Приложение для Android - добавление кнопки "share" для совместного использования приложения в социальных сетях

У меня есть приложение, и я хотел бы добавить к нему кнопку "Поделиться". После нажатия кнопки мне бы хотелось, чтобы она открыла следующее окно:

enter image description here

Затем пользователь сам выберет, где поделиться им, и отобразит следующее сообщение по умолчанию: "Только что нашел это отличное приложение! Найдите его здесь: https://play.google.com/store/apps/details?id=com.ideashower..readitlater.pro "

Подскажите, пожалуйста, как это сделать?

4b9b3361

Ответ 1

Решение 1: Запуск действия ACTION_SEND

При запуске намерения SEND вы обычно должны обернуть его в избранное (через createChooser (Intent, CharSequence)), который даст правильный интерфейс для пользователя выбрать, как отправить ваши данные, и позволить вам указать подсказку, указывающую, что они делают.

Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);

# change the type of data you need to share, 
# for image use "image/*"
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, URL_TO_SHARE);
startActivity(Intent.createChooser(intent, "Share"));

Решение 2: используйте ShareActionProvider

Если вы просто хотите добавить кнопку "Поделиться" в меню "Переполнение", посмотрите также ShareActionProvider.

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

Надеюсь, это поможет.:)

Ответ 2

Как объяснили разработчики Android по этой ссылке: http://developer.android.com/training/sharing/shareaction.html

вам нужно добавить этот пункт меню:

<item
        android:id="@+id/menu_item_share"
        android:showAsAction="ifRoom"
        android:title="Share"
        android:actionProviderClass=
            "android.widget.ShareActionProvider" />

Затем добавьте в действие следующий код:

private ShareActionProvider mShareActionProvider;
...

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate menu resource file.
    getMenuInflater().inflate(R.menu.share_menu, menu);

    // Locate MenuItem with ShareActionProvider
    MenuItem item = menu.findItem(R.id.menu_item_share);

    // Fetch and store ShareActionProvider
    mShareActionProvider = (ShareActionProvider) item.getActionProvider();

    // Return true to display menu
    return true;
}

// Call to update the share intent
private void setShareIntent(Intent shareIntent) {
    if (mShareActionProvider != null) {
        mShareActionProvider.setShareIntent(shareIntent);
    }
}