Android - 分享按钮无响应

时间:2013-04-20 00:24:50

标签: android shareactionprovider

我有这个意图

    Button share = (Button)findViewById(R.id.share);
    share.setOnClickListener(new Button.OnClickListener() 
    {  
        public void onClick(View v) 
        {

                    //createShareIntent( );
        }
    });

这个类中的这两个方法:

@Override
public boolean onCreateOptionsMenu(Menu menu) 
{
    getMenuInflater().inflate(R.layout.menu, menu);
    MenuItem item = menu.findItem(R.id.menu_item_share);
    myShareActionProvider = (ShareActionProvider)item.getActionProvider();
    myShareActionProvider.setShareHistoryFileName(
      ShareActionProvider.DEFAULT_SHARE_HISTORY_FILE_NAME);
    myShareActionProvider.setShareIntent(createShareIntent());
    return true;
}

private Intent createShareIntent() 
{
       Intent shareIntent = new Intent(Intent.ACTION_SEND);
       shareIntent.setType("text/plain");
       shareIntent.putExtra(Intent.EXTRA_TEXT, 
         "testing");
       return shareIntent;
}

public void doShare(Intent shareIntent) 
{
    // When you want to share set the share intent.
    myShareActionProvider.setShareIntent(shareIntent);
}    

和这个sdk版本配置:

<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15"/>

但我的问题是我不知道怎么称呼这个。如何在单击分享按钮后实际显示菜单?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以通过调用openOptionsMenu()方法从代码中打开选项菜单。从文档here开始 -

  

以编程方式打开选项菜单。如果选项菜单是   已打开,此方法无效。

但问题是你为什么要这样做。您有硬件菜单按钮打开选项菜单。所以最好不要这样做。即使您想通过按钮单击显示用户某些选项,然后使用对话框。为什么选择菜单?