使用解析和sinch

时间:2015-11-20 11:13:15

标签: java android button parse-platform sinch

我希望能够在像whatsApp这样的消息传递应用程序中将图片从一个用户发送到另一个用户,但我不知道该怎么做。我使用android和解析作为我的数据库。我尝试谷歌搜索似乎没有任何帮助,我是Android开发的新手。我更喜欢像使用我的文本一样使用它,因为在用户之间发送消息时我使用解析作为我的数据库。有人可以请求协助,我可以从galery中选择图像并将其加载到图像视图中,但我不知道如何像文本一样发送它。单击按钮“发送”时应该处于的代码。     以下是我的代码。请看一下。我一直在尝试我能想到的一切,但我无处可去。

   protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            if (resultCode == RESULT_OK) {
                //Everything Okay
                if (requestCode == LOAD_IMAGE_RESULTS) {
                    Uri pickedImage = data.getData();
                    InputStream inputStream;
                    try {
                        inputStream = getContentResolver().openInputStream(pickedImage);
                        Bitmap selectImage = BitmapFactory.decodeStream(inputStream);
                        sendPicture.setImageBitmap(selectImage);

                        selectImage = ((BitmapDrawable) sendPicture.getDrawable()).getBitmap();
                        ByteArrayOutputStream stream = new ByteArrayOutputStream();
                        selectImage.compress(Bitmap.CompressFormat.PNG, 5, stream);
                        byte[] imageRec = stream.toByteArray();

                        final ParseObject imgMsgToBeSent = new ParseObject("SentImages");
                        final ParseFile fileRenamed;
                        //create parse file
                        fileRenamed = new ParseFile("SentImage.png", imageRec);

                        imgMsgToBeSent.put("receipientId", MessagingActivity.recipientId.toString());
                        imgMsgToBeSent.put("senderId", MessagingActivity.currentUserId.toString());
                        imgMsgToBeSent.put("imageReceived", fileRenamed);

                        sendImgBtn.setOnClickListener(new View.OnClickListener() {

                            @Override
                            public void onClick(View v) {
                                if (v.getId() == R.id.sendImageBtn) {
                                    messageService.sendMessage(MessagingActivity.recipientId.toString(), fileRenamed.toString());
                                    finish();
                                }
                            }
                        });

                    } catch (FileNotFoundException e) {
                        e.printStackTrace();
                        Toast.makeText(getApplicationContext(),
                                "Unable to load image",
                                Toast.LENGTH_LONG).show();
                    }

                }
            }
        }

2 个答案:

答案 0 :(得分:1)

从图库##

中选择后共享图像

首先获取图像路径,然后通过这样的意图发送它:

Intent shareIntent = new Intent(Intent.ACTION_SEND);
        Uri Imageuri = Uri.fromFile(new File(image));
        shareIntent.setType("image/");
        shareIntent.putExtra(Intent.EXTRA_STREAM, Imageuri);
 startActivity(Intent.createChooser(shareIntent, "ShareWia"));

用于共享图像和文本,只需添加一个settype,并使用put extra和text:

Intent shareIntent = new Intent(Intent.ACTION_SEND);
             Uri Imageuri = Uri.fromFile(new File(image));
            shareIntent.setType("image/");
    shareIntent.setType("text/plain");
    shareIntent.putExtra(Intent.EXTRA_TEXT, text);
            shareIntent.putExtra(Intent.EXTRA_STREAM, Imageuri);
    startActivity(Intent.createChooser(shareIntent, "ShareWia"));

答案 1 :(得分:0)

Sinch不支持IM中的附件