Sharing works with the specific intent filter action ACTION_SEND.
Any app that wants to register for a specific type of data can declare the appropriate intent filter in its manifest file.
On the other hand, applications that want to trigger a share action need to start an activity with an appropriate intent, such as described here: http://developer.android.com/training/sharing/send.html#send-binary-content
E.g to share an image:
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_STREAM, uriToImage);
shareIntent.setType("image/jpeg");
startActivity(Intent.createChooser(shareIntent, getResources().getText(R.string.send_to)));