我的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);
}
}
答案 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);
}
}