我正在使用 shareactionprovider 共享文本,但无法使其正常工作。相同的代码适用于菜单选项。当我使用 shareactionprovider 共享文本时,文本不会共享,但是当我使用菜单共享选项共享相同的文本时,文本会被共享。
对不起我糟糕的英语
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getActionBar().setDisplayHomeAsUpEnabled(true);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.share2, menu);
menu.add(Menu.NONE, MENU_ITEM1, Menu.NONE, "Share");
MenuItem mShareActionProviderItem = (MenuItem) menu.findItem(R.id.menu_share2);
mShareActionProvider = (ShareActionProvider) mShareActionProviderItem.getActionProvider();
Intent t = new Intent(Intent.ACTION_SEND);
t.setAction(Intent.ACTION_SEND);
t.setType("text/plain");
CharSequence displayContents = contentsTextView.getText().toString();
t.putExtra(Intent.EXTRA_TEXT,displayContents);
mShareActionProvider.setShareIntent(t);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case MENU_ITEM1:
Intent shareIntent2 = new Intent();
shareIntent2.setAction(Intent.ACTION_SEND);
shareIntent2.setType("text/plain");
CharSequence displayContents2 = contentsTextView.getText().toString();
shareIntent2.putExtra(Intent.EXTRA_TEXT,displayContents2);
startActivity(shareIntent2);
break;
}
return super.onOptionsItemSelected(item);
}