正在开发一款可让人们通过互联网发送图像,音频和视频的应用。接收此媒体文件的人必须已在我的设备中安装了我的应用程序。
我现在能做的就是压缩要发送的图像。我不知道从哪里开始,因为大多数在线教程都使用意图来执行此操作,但我不想触发另一个应用程序来执行发送。我的应用程序应该能够自己完成所有这些。
这是压缩图像的方式
Zip4j
答案 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
// ...
}
}
});