android - Android 2.3 的 ActionBarSherlock ShareActionProvider 不工作

标签 android actionbarsherlock shareactionprovider

我正在使用 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/

相关文章:

android - 错误:Module version com. loopj.android :android-async-http:1. 4.3依赖于库但本身不是库

android - 无法使用 ActionBarSherlock 库

android - 如何使这个简单的对话框 fragment 半透明

android - ActionBar Sherlock 菜单项 OnClick

android - 拍照总是在onActivityResult(..)中返回RESULT_CANCELED(0)

java - Android 计算器给出错误答案

android - 在后台运行安卓手电筒

android - 根据分享目标分享不同的文字

android - 我在PopupMenu中使用了ShareActionProvider,却显示了两个PopupMenu?

android - 如何在android ShareActionProvider中共享动态文本