Determinar si ShareActionProvider se activa

Estoy teniendo problemas con el ShareActionProvider. Me gusta compartir la url actual de una webview (url se puede cambiar dinámicamente a través de JS) a través de ShareActionProvider. Para ello, sobrescribí onOptionsItemSelected para cambiar el intento a través de setShareIntent. Pero cuando hago clic en ShareActionProvider y lo comparto a través de una aplicación específica, no pasa nada. Lo depuré y descubrí que onOptionsItemSelected no se activa. alguien me puede ayudar?

public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.game, menu); MenuItem mShareActionProviderItem = (MenuItem) menu.findItem(R.id.action_share); mShareActionProvider = (ShareActionProvider) mShareActionProviderItem.getActionProvider(); // is a field Intent sendIntent = new Intent(Intent.ACTION_SEND); sendIntent.setType("text/plain"); mShareActionProvider.setShareIntent(sendIntent); //needed to be able to click on Item mShareActionProviderItem.getActionView().setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String url = ((GameFragment) getFragmentManager().findFragmentByTag(GAME_FRAGMENT)).getUrl(); /*ShareButton set URL*/ Intent sendIntent = new Intent(Intent.ACTION_SEND); sendIntent.setType("text/plain"); sendIntent.putExtra(Intent.EXTRA_TEXT, String.format(getResources().getString(R.string.share_text), url)); mShareActionProvider.setShareIntent(sendIntent); } }); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()) { case R.id.action_share: /*URL holen*/ String url = ((GameFragment) getFragmentManager().findFragmentByTag(GAME_FRAGMENT)).getUrl(); /*ShareButton mit URL bestücken*/ ShareActionProvider mShareActionProvider = (ShareActionProvider) item.getActionProvider(); Intent sendIntent = new Intent(Intent.ACTION_SEND); sendIntent.setType("text/plain"); sendIntent.putExtra(Intent.EXTRA_TEXT, String.format(getResources().getString(R.string.share_text), url)); mShareActionProvider.setShareIntent(sendIntent); break; default: return super.onOptionsItemSelected(item); } return true; 

Sé que es un poco tarde pero acabo de tener el mismo problema y lo solucioné definiendo un OnShareTArgetSelectedListener en mi ShareActionProvider objeto. :

  mShareActionProvider.setOnShareTargetSelectedListener(new OnShareTargetSelectedListener() { @Override public boolean onShareTargetSelected(ShareActionProvider arg0, Intent arg1) { return false; } }); 

http://developer.android.com/reference/android/widget/ShareActionProvider.html#setOnShareTargetSelectedListener(android.widget.ShareActionProvider.OnShareTargetSelectedListener)

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.