我正在使用 ABS ShareActionProvider。 我遵循了这段代码:https://github.com/JakeWharton/ActionBarSherlock/blob/master/samples/demos/src/com/actionbarsherlock/sample/demos/ShareActionProviders.java它适用于最新版本的 Android (4.0+) 但不适用于 Android 2.x,我无法点击该图标。
这是我的代码:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.share, menu);
MenuItem actionItem = menu.findItem(R.id.menu_item_share_action_provider_action_bar);
actionProvider = (ShareActionProvider) actionItem.getActionProvider();
actionProvider.setShareHistoryFileName(null);
actionProvider.setShareIntent(share("More apps : https://play.google.com/store/apps/developer?id=Stéphane+Mathis"));
if(mItem != null)
{
actionProvider.setShareIntent(share(mItem.content));
}
super.onCreateOptionsMenu(menu, inflater);
}
private Intent share(String message)
{
final Intent MessIntent = new Intent(Intent.ACTION_SEND);
MessIntent.setType("text/plain");
MessIntent.putExtra(Intent.EXTRA_TEXT, message);
return MessIntent;
}
我错过了什么吗?
编辑: 我尝试了 ABS 的“官方”演示,它在模拟器中不起作用,但它可以在真实设备上运行。这与我的代码相同,使用真实设备(使用 4.1.2、4.2.1 和 2.3.3 测试)但不在模拟器中使用。那我该怎么办?当我在模拟器中测试它时,发布一个不工作的应用程序让我感到不舒服。
最佳答案
我认为这是由于 here 中描述的错误造成的,简而言之,模拟器没有安装超过 1 个能够获得此共享 Intent 的应用程序。
关于android - Android 2.3 的 ActionBarSherlock ShareActionProvider 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14510738/