0

我必须将文本和电子邮件发布到 FB、TW 和电子邮件。

在这里,我创建了一个图像视图。如果我必须单击这些图像视图,则意味着警报对话框正在打开。这里列出了以下 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 墙正在打开...但是这里没有显示文字...

如果我点击 Tw 意味着推特墙正在打开...推特文字显示在墙上..但图像无法加载显示消息...。

如果我必须单击电子邮件意味着 gmail 正在打开并且还很好地显示了主题上的文本...

为什么推特图片无法加载消息正在显示...FB文本和图片也没有显示????请给我解决这些????

4

2 回答 2

0

将 SoicalAuth 用于此功能非常简单,您不需要为此创建列表视图和布局....请参阅此链接

于 2013-04-22T07:13:05.120 回答
0

在 facebook 中,它的已知问题是用户无法通过操作发送加载文本,但您可以上传图像。您还可以使用 facebook api 加载文本。

在推特中,您也可以发送图像和文本,它不会显示任何问题。

试试下面的代码。希望这会帮助你 。

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"));
于 2013-04-22T09:49:30.260 回答