2

我在 API 15 (Galaxy Nexus) avdevice 上使用以下代码

menu_share.xml

    <item
    android:id="@+id/menu_share"
    android:actionProviderClass="android.widget.ShareActionProvider"
    android:showAsAction="ifRoom"
    android:title="Share"/>
<item
    android:id="@+id/item1"
    android:orderInCategory="20"
    android:showAsAction="always|collapseActionView"
    android:title="Refresh">
</item>

主要活动看起来像这样

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

    // Get the ActionProvider
    provider = (ShareActionProvider) menu.findItem(R.id.menu_share)
        .getActionProvider();
    // Initialize the share intent
    intent = new Intent(Intent.ACTION_SEND);

    intent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
    intent.setType("text/plain");
    provider.setShareIntent(intent);
    return true;
}

当我在 API 15 (Galaxy Nexus) avd 上运行它时,它只显示我无法单击的以下图标(尽管它至少应该显示消息应用程序)。

API15

当我在 API 17 平板电脑 avd 上运行相同的代码时,我可以启动 SharedActionProvider 提供的消息应用程序 - 它看起来像这样

在此处输入图像描述

在平板电脑上,如何使消息应用程序像这样显示在下拉列表中,以及如何使 API15 AVD 上的共享操作提供程序可点击(第一张图片)?

谢谢。

4

1 回答 1

0

这是已知的 Android 错误。检查ActionBarSherlock 中的相关错误报告和 android错误本身。错误已 1.5 年,仍未修复。

于 2013-08-08T10:13:40.607 回答