我必须将文字和电子邮件发布到FB,TW和电子邮件。
这里我创建了一个imageview.if我必须clcik这些imageview意味着警报dislog框正在打开。这里列出了以下3项:FB,TW,电子邮件
这里如果我必须在警告列表上FB,这意味着它是使用action_send转到FB应用程序...也发布文本和图像。其他的TW和电子邮件应用程序是隐藏。
如果我在警报列表上点击TW意味着它会转到Tw应用并发布文本和图像同时隐藏FB,电子邮件应用...
我该怎么办?
请帮助我..我使用下面的代码...在这里我点击Fb意味着没有发生任何事情???请给我这些解决方案...我的设备安装了FB,TW应用程序也......然后为什么没有发生什么?请给我一些建议???我的代码有什么问题???
ImageView share = (ImageView) findViewById(R.id.imageView5);
share.setOnClickListener(new OnClickListener()
{
public void onClick ( final View v )
{
final CharSequence[] items =
{
"Facebook", "Twitter", "Email"
};
AlertDialog.Builder builder = new AlertDialog.Builder(SubCate.this);
builder.setTitle("Share Via:");
builder.setItems(items, new DialogInterface.OnClickListener()
{
public void onClick ( DialogInterface dialog , int item )
{
if (items[item] == "Facebook")
{
initShareIntent("facebook");
}
if(items[item] == "Twitter"){
initShareIntent("twitter");
}
if (items[item] == "Email")
{
initShareIntent("gmail");
}
}
});
AlertDialog alert = builder.create();
alert.show();
}
});
}
private void initShareIntent(String type) {
boolean found = false;
Intent share = new Intent(android.content.Intent.ACTION_SEND);
share.setType("image/jpeg");
// gets the list of intents that can be loaded.
List<ResolveInfo> resInfo = getPackageManager().queryIntentActivities(share, 0);
if (!resInfo.isEmpty()){
for (ResolveInfo info : resInfo) {
if (info.activityInfo.packageName.toLowerCase().contains(type) ||
info.activityInfo.name.toLowerCase().contains(type) ) {
share.putExtra(Intent.EXTRA_SUBJECT, _Substring);
share.putExtra(Intent.EXTRA_TEXT, _Substring);
share.putExtra(Intent.EXTRA_STREAM, Uri.parse(_Image));
share.setPackage(info.activityInfo.packageName);
found = true;
break;
}
}
if (!found)
return;
startActivity(Intent.createChooser(share, "Select"));
}
}
修改
在这里我必须运行应用程序:
如果我必须点击Fb意味着Facebook墙正在打开......但是文字没有显示在这里......
如果我ahev点击Tw意味着twitter墙正在打开... Twitter文本显示在墙上..但是图像无法加载消息显示....
如果我必须点击电子邮件意味着gmail正在打开并且还在主题上显示文字......
为什么twiiter图像无法加载消息显示...也FB文本和图像不显示????请给我这些????
的解决方案答案 0 :(得分:0)
使用SoicalAuth实现此功能非常简单,您不需要为此创建列表视图和布局.... 见this link
答案 1 :(得分:0)
在facebook中,用户无法通过操作发送加载文本的已知问题,但您可以上传图像。你也可以使用facebook api加载文本。
在Twitter中,您也可以发送图像以及不会显示任何问题的文字。
尝试使用以下代码。希望这会帮助你 。
Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
shareIntent.setType("image/*");
shareIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
Uri uri = Uri.parse("file://"+combinedFilepath.trim());
String extraString="set";
shareIntent.putExtra(Intent.EXTRA_TEXT,extraString);
shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
shareIntent.putExtra(Intent.EXTRA_TITLE, extraString);
shareIntent.putExtra(Intent.EXTRA_SUBJECT, "app name");
startActivity(Intent.createChooser(shareIntent, "Share via"));