2013-09-19 2 views
0

I Action Bar Я использую ShareActionProvider, но перед небольшой проблемой я также получаю значок Messenger вместе с Share Icon, и я не хочу показывать значок Messenger в моей панели действий.Как удалить значок Messenger из панели действий

Так как я могу удалить Messenger Аватар из панели действий, см моего кода:

@Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.main, menu);  
     mShareActionProvider = (ShareActionProvider) menu.findItem(R.id.menu_item_share).getActionProvider(); 
     if (mShareActionProvider != null) { 
     mShareActionProvider.setShareIntent(getDefaultShareIntent()); 
     } 
     return super.onCreateOptionsMenu(menu); 
    } 

    private Intent getDefaultShareIntent(){ 
     Intent intent = new Intent(Intent.ACTION_SEND); 
     intent.setType("text/plain"); 
     intent.putExtra(Intent.EXTRA_SUBJECT, "SUBJECT"); 
     intent.putExtra(Intent.EXTRA_TEXT, "TEXT"); 
     return intent; 
    } 

Я просто хочу, чтобы показать Поделиться Иконка в моей Action Bar не Коммуникатор Icon ...

посмотреть снимок экрана :

enter image description here

ответ

1

Вы можете попробовать setShareHistoryFileName(null) и посмотреть, если это блокирует второй значок вместе с историей.

В противном случае вам необходимо будет написать свой собственный поставщик действий в качестве замены для ShareActionProvider. Или, вам нужно попытаться переделать ShareActionProvider, чтобы заблокировать эту вторую иконку.

0

Создание меню в макете таким образом:

<item 
    android:showAsAction="always" 
    android:icon="@drawable/share_icon"/> 

При нажатии на нее вы можете показать источники совместного доступа по умолчанию.

Смежные вопросы