How to hide the share action (which use most) icon near the share action provider?

If you wish to keep all the share history data model, but just don’t want the extra “default share activity” icom. The answer at How do you turn off share history when using ShareActionProvider? is not good enough.

What you should do is:

  • Copy these classes from the ActionBarSherlock to your project code
    • ShareActionProvider.java
    • ActivityChooserView.java
  • At your ShareActionProvider.java class, import the ActivityChooserView.java which you just copied instead of the ActionBarShelock file location
  • At the ActivityChooserView.java –
    • find the line if (activityCount > 0 && historySize > 0)
    • replace this line with if (false) (it’s pretty ugly, but it’s the quickest fix. you can delve into the code to remove all occurrences of DefaultActivity implementation)

Edit:
Don’t forget to set the new ActionProvider to your menu item, from XML it would look like: android:actionProviderClass="com.*.CustomShareActionProvider"

That’s it!

Leave a Comment