Android app-добавление кнопки "Поделиться", чтобы поделиться приложением в социальных сетях
У меня есть приложение, и я хотел бы добавить кнопку share к нему. Как только кнопка нажата, я хотел бы открыть следующее окно:
затем пользователь выберет, где поделиться им, и он отобразит следующее сообщение по умолчанию: "Только что нашел это отличное приложение! Найти его here:https://play.google.com/store/apps/details?id=com.ideashower.readitlater.pro"
не могли бы вы рассказать мне, как это сделать?
спасибо! Будет очень полезно!
Dvir
2 ответов
Решение 1: Запустите ACTION_SEND Intent
при запуске намерения отправки вы обычно должны обернуть его в chooser (через createChooser (намерение, 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
если вы просто хотите добавить кнопку Share В меню переполнения, также есть взгляните на 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;
}
надеюсь, что это помогает. :)
Как объясняется на 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" />
затем добавьте следующий код в Activity:
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);
}
}