ShareCompat

Extra helper functionality for sharing data between activities.
ShareCompat provides functionality to extend the ACTION_SEND/
ACTION_SEND_MULTIPLE protocol and support retrieving more info
about the activity that invoked a social sharing action.
ShareCompat.IntentBuilder provides helper functions for constructing a sharing
intent that always includes data about the calling activity and app.
This lets the called activity provide attribution for the app that shared
content. Constructing an intent this way can be done in a method-chaining style.
To obtain an IntentBuilder with info about your calling activity, use the static
method from(Activity).
ShareCompat.IntentReader provides helper functions for parsing the defined extras
within an ACTION_SEND or ACTION_SEND_MULTIPLE intent
used to launch an activity. You can also obtain a Drawable for the caller's
application icon and the application's localized label (the app's human-readable name).
Social apps that enable sharing content are encouraged to use this information
to call out the app that the content was shared from.

Causes the current thread to wait until another thread invokes the
notify() method or the
notifyAll() method for this object, or
some other thread interrupts the current thread, or a certain
amount of real time has elapsed.

Public methods

configureMenuItem

If the app is running on API level 14 or higher (Android 4.0/Ice Cream Sandwich)
this method will configure a ShareActionProvider to provide a more robust UI
for selecting the target of the share. History will be tracked for each calling
activity in a file named with the prefix ".sharecompat_" in the application's
private data directory. If the application wishes to set this MenuItem to show
as an action in the Action Bar it should use
setShowAsAction(MenuItem, int) to request that behavior
in addition to calling this method.

If the app is running on an older platform version this method will configure
a standard activity chooser dialog for the menu item.

During the calling activity's lifecycle, if data within the share intent must
change the app should change that state in one of several ways:

Call invalidateOptionsMenu(Activity). If the app is running
on API level 11 or above and uses the Action Bar its menu will be recreated and rebuilt.
If not, the activity will receive a call to onPrepareOptionsMenu(Menu)
the next time the user presses the menu key to open the options menu panel. The activity
can then call configureMenuItem again with a new or altered IntentBuilder to reconfigure
the share menu item.

Keep a reference to the MenuItem object for the share item once it has been created
and call configureMenuItem to update the associated sharing intent as needed.

Parameters

item

MenuItem:
MenuItem to configure for sharing

shareIntent

ShareCompat.IntentBuilder:
IntentBuilder with data about the content to share

getCallingActivity

Retrieve the ComponentName of the activity that launched calledActivity from a share intent.
Apps that provide social sharing functionality can use this to provide attribution
for the app that shared the content.

Note: This data may have been provided voluntarily by the calling
application. As such it should not be trusted for accuracy in the context of
security or verification.

getCallingPackage

Retrieve the name of the package that launched calledActivity from a share intent.
Apps that provide social sharing functionality can use this to provide attribution
for the app that shared the content.

Note: This data may have been provided voluntarily by the calling
application. As such it should not be trusted for accuracy in the context of
security or verification.