2013-07-26 36 views
3

我想要一个操作栏中的共享图标,按下后,出现一个选择器。我有这个最到位,但这个不受欢迎的中间人步骤...ActionBar共享项目产生“Android系统”thingy

菜单:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/menu_share" 
      android:title="@string/share" 
      android:showAsAction="always" 
      android:actionProviderClass="com.actionbarsherlock.widget.ShareActionProvider" 
    />  
</menu> 

的SherlockFragment的onCreateOptionsMenu:

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {  
    // Inflate menu resource file. 
    inflater.inflate(R.menu.share_menu, menu); 

    // Locate MenuItem with ShareActionProvider 
    MenuItem item = menu.findItem(R.id.menu_share); 

    // Fetch and store ShareActionProvider 
    this.shareActionProvider = (ShareActionProvider) item.getActionProvider(); 

    final String title = r.getString(R.string.feedback_share); 
    final String subject = r.getString(R.string.share_subject); 
    final String message = r.getString(R.string.share_message_plain); 

    Intent intent = app.newShareIntent(title, subject, message); 
    this.shareActionProvider.setShareIntent(intent); 
} 

的意向工厂:

public Intent newShareIntent(String title, String subject, String message) {    
    Intent intent = new Intent(android.content.Intent.ACTION_SEND); 
    intent.setType("text/plain"); 
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); 

    intent.putExtra(Intent.EXTRA_SUBJECT, subject); 
    intent.putExtra(Intent.EXTRA_TEXT, message); 

    Intent chooser = Intent.createChooser(intent, title); 
    chooser.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

    return chooser; 
} 

不受欢迎的中间人:

enter image description here

当我点击这个家伙,他不遵医嘱,并提出了选择器。但我真的不想参与他的服务。

什么我后:

enter image description here

或者,这与所有三个(或然而,许多的用户设备)在下拉...或者可以设置对使用inline出现的默认共享图标:

enter image description here

回答

3

但我真的没有兴趣与他的服务。

可是你自找的“他的服务”,因为你是谁叫createChooser(),并决定使用它作为您的共享Intent之一。

摆脱这一点,直接返回您的ACTION_SENDIntent,“Android系统”应该消失。

+0

好吧,工作......任何方式让他们进入下拉菜单?查看编辑 – QED

+0

@psoft:恐怕我不明白你的问题。 – CommonsWare

+0

在我上一张截图中,您可以看到操作栏中共享图标旁边的蓝牙图标。我想要垂直列表中的蓝牙图标与其他人(消息,电子邮件等)。 – QED