The new ShareActionProvider available in Android 4.0 (or in earlier versions if you're using ActionBarSherlock) has a feature where the last used item is displayed in the action bar. Is there anyway to turn this off?
For me, the best solution for avoid the history icon is don't use ShareActionProvider, instead of it, create it as any other action:
<item android:id="@+id/menu_action_share" android:showAsAction="ifRoom" android:icon="@drawable/ic_action_share" android:title="@string/share"/>
at the menu/activity_actions.xml put a item with the ic_action_share icon...
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_actions, menu); return super.onCreateOptionsMenu(menu); }
Inflate the menu normally...
private void actionShare(){ Intent i = new Intent(Intent.ACTION_SEND); i.setType("text/plain"); i.putExtra(Intent.EXTRA_SUBJECT, "my string"); i.putExtra(Intent.EXTRA_TEXT, "another string"); startActivity(i); //Or like above will always display the chooser //startActivity(Intent.createChooser(i, getResources().getText(R.string.share))); }
Create a method with an ACTION_SEND intent
@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu_item_share: actionShare(); return true; default: return super.onOptionsItemSelected(item); } }
And finally call to this method from onOptionsItemSelected
more info ->Sending Simple Data to Other Apps
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With