我在 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 上运行它时,它只显示我无法单击的以下图标(尽管它至少应该显示消息应用程序)。
当我在 API 17 平板电脑 avd 上运行相同的代码时,我可以启动 SharedActionProvider 提供的消息应用程序 - 它看起来像这样
在平板电脑上,如何使消息应用程序像这样显示在下拉列表中,以及如何使 API15 AVD 上的共享操作提供程序可点击(第一张图片)?
谢谢。