ShareActionProvider无法点击?

时间:2015-05-05 14:03:10

标签: android android-actionbar

我的ActionBar中有一个ShareActionProvider,我已经按照谷歌的例子将它发送到了发球台。我很好奇为什么它不可点击?

编辑:我知道如果删除shareHistory函数,它会变得可点击,但我不想保留共享历史记录。

的xml:

<item
    android:id="@+id/menu_item_share"
    android:actionProviderClass="android.widget.ShareActionProvider"
    android:icon="@android:drawable/ic_menu_share"
    android:showAsAction="ifRoom"
    android:title="Share" />

Java代码:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_legislation, menu);

    MenuItem item = (MenuItem)menu.findItem(R.id.menu_item_share);

    sharingIntent = new Intent(Intent.ACTION_SEND);
    sharingIntent.setType("text/plain");
    sharingIntent.putExtra(Intent.ACTION_ALL_APPS, "http://www.anilinkz.com/");

    mSharedActionProvider = (ShareActionProvider)item.getActionProvider();

    setShareIntent(sharingIntent);

    return true;
}

public void setShareIntent(Intent shareIntent) {
    if (mSharedActionProvider != null) {
        mSharedActionProvider.setShareIntent(shareIntent);
        mSharedActionProvider.setShareHistoryFileName(null);
    }
}

1 个答案:

答案 0 :(得分:0)

试试这个:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_legislation, menu);

    MenuItem item = (MenuItem)menu.findItem(R.id.menu_item_share);

    sharingIntent = new Intent(Intent.ACTION_SEND);
    sharingIntent.setType("text/plain");
    sharingIntent.putExtra(Intent.EXTRA_TEXT, "http://www.anilinkz.com/");

    mSharedActionProvider = (ShareActionProvider) item.getActionProvider();

    setShareIntent(sharingIntent);

    return true;
}

public void setShareIntent(Intent shareIntent) {
    if (mSharedActionProvider != null) {
        mSharedActionProvider.setShareIntent(shareIntent);
    }
}