Android ShareActionProvider无法与Facebook分享

时间:2013-09-21 14:29:45

标签: android android-intent shareactionprovider

我尝试使用ShareActionProvider(support.v7)为我的应用执行共享。所有应用,例如Gmail,Evernote等。工作正常 - 除了Facebook。我不知道问题是什么。这是我的代码snipet:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.share, menu);
    MenuItem shareItem = menu.findItem(R.id.action_share);
     mShareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(shareItem);
    mShareActionProvider.setShareIntent(shareIntent());

    return true;
}

public Intent shareIntent () {
    Intent shareIntent = new Intent(Intent.ACTION_SEND);
    shareIntent.setType("type/plain");
    shareIntent.setType("image/*");
    shareIntent.putExtra(Intent.EXTRA_SUBJECT,"SUBJECT");
    shareIntent.putExtra(Intent.EXTRA_TEXT,"TEXT TEXT");
    return shareIntent;
}

1 个答案:

答案 0 :(得分:4)

首先,不要拨打setType()两次,因为第二个会替换第一个。

其次,type/plain不是有效的MIME类型。试试text/plain

第三,如果您要使用image/*,则需要使用EXTRA_STREAM来提供图片。