0

我正在使用 ShareActionProvider 的操作栏,但面临小问题,我还获得了 Messenger 图标和 Share 图标,我不想在我的操作栏中显示 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;
    }

我只想在我的操作栏中显示共享图标而不是 Messenger 图标...

看屏幕截图:

在此处输入图像描述

4

2 回答 2

1

欢迎您尝试setShareHistoryFileName(null)查看是否会阻止第二个图标以及历史记录。

否则,您将需要编写自己的操作提供程序来替代ShareActionProvider. 或者,您将需要尝试分叉ShareActionProvider来阻止第二个图标。

于 2013-09-19T11:21:21.497 回答
0

以这种方式在布局中创建菜单:

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

当您单击它时,您可以显示默认共享源。

于 2013-09-19T11:23:47.770 回答