如何在android中发送类似whatsapp的媒体文件

时间:2015-12-23 09:48:28

标签: android android-imageview android-image android-webservice

正在开发一款可让人们通过互联网发送图像,音频和视频的应用。接收此媒体文件的人必须已在我的设备中安装了我的应用程序。

我现在能做的就是压缩要发送的图像。我不知道从哪里开始,因为大多数在线教程都使用意图来执行此操作,但我不想触发另一个应用程序来执行发送。我的应用程序应该能够自己完成所有这些。

这是压缩图像的方式

Zip4j

1 个答案:

答案 0 :(得分:0)

很久以前。我是android开发的新手。使用Firebase可以轻松解决该问题。只需在firebase中上传文件并发送包含图片uri的FCM通知即可。

Uri file = Uri.fromFile(new File("path/to/images/rivers.jpg"));
StorageReference riversRef = storageRef.child("images/"+file.getLastPathSegment());
UploadTask uploadTask = riversRef.putFile(file);

Task<Uri> urlTask = uploadTask.continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() {
    @Override
    public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot> task) throws Exception {
        if (!task.isSuccessful()) {
            throw task.getException();
        }

        // Continue with the task to get the download URL
        return ref.getDownloadUrl();
    }
}).addOnCompleteListener(new OnCompleteListener<Uri>() {
    @Override
    public void onComplete(@NonNull Task<Uri> task) {
        if (task.isSuccessful()) {
            Uri downloadUri = task.getResult();
            int id =1;
FirebaseMessaging fm = FirebaseMessaging.getInstance();
fm.send(new RemoteMessage.Builder(SENDER_ID + "@gcm.googleapis.com")
  .setMessageId("1")
  .addData("my_message", downloadUri.toString())
  .addData("my_action","SAY_HELLO")
  .build());

        } else {
            // Handle failures
            // ...
        }
    }
});