我尝试使用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;
}
答案 0 :(得分:4)
首先,不要拨打setType()
两次,因为第二个会替换第一个。
其次,type/plain
不是有效的MIME类型。试试text/plain
。
第三,如果您要使用image/*
,则需要使用EXTRA_STREAM
来提供图片。