2013-04-20 59 views
0

我有这个意向Android的 - 分享按钮没有响应

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"/> 

但我问题是我不知道如何调用它。点击分享按钮后,如何让菜单显示出来?

谢谢!

+0

我不确定你在这里遇到什么问题,你想在点击这个分享按钮时显示一个菜单项?为什么你有共享按钮和共享菜单项? – 2013-04-20 03:48:10

+0

@YananHercouet我有一个分享按钮的原因是,我可以把它放在屏幕的内容。但我不确定如何显示可与其共享内容的可能社交网络和电子邮件的菜单。 – Genadinik 2013-04-20 11:44:04

回答

1

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

以编程方式打开选项菜单。如果选项菜单 已经打开,则此方法不执行任何操作。

但问题是你为什么这样做。你有硬件菜单按钮来打开选项菜单。所以最好留下这个。即使如果你想通过按钮点击显示用户某个选项,然后使用对话框。为什么选项菜单?