Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you turn off share history when using ShareActionProvider?

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?

like image 453
Quentamia Avatar asked May 22 '12 16:05

Quentamia


1 Answers

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

like image 184
Nissar Avatar answered Nov 10 '22 13:11

Nissar