Envío de imágenes como WhatsApp

He hecho una aplicación de chat. Quiero agregar el concepto de compartir foto / archivo en mi aplicación como WhatsApp. He hecho la aplicación utilizando Xmpp/Openfire y actual ahora estoy utilizando esta función para compartir fotos, pero no es todo fiable:

 public void sendFile(final String path, final String receiver) { Thread thread = new Thread() { public void run() { ServiceDiscoveryManager sdm = ServiceDiscoveryManager .getInstanceFor(connection); if (sdm == null) sdm = new ServiceDiscoveryManager(connection); sdm.addFeature("http://jabber.org/protocol/disco#info"); sdm.addFeature("jabber:iq:privacy"); // Create the file transfer manager FileTransferManager manager = new FileTransferManager( connection); FileTransferNegotiator.setServiceEnabled(connection, true); // Create the outgoing file transfer OutgoingFileTransfer transfer = manager .createOutgoingFileTransfer(receiver + "/Smack"); System.out.println("Receiver of the file is "+receiver+"/smack"); Log.i("transfere file", "outgoingfiletransfer is created"); try { OutgoingFileTransfer.setResponseTimeout(30000); transfer.sendFile(new File(path), "Description"); Log.i("transfere file", "sending file"); while (!transfer.isDone()) { try { Thread.sleep(1000); Log.i("transfere file", "sending file status " + transfer.getStatus() + "progress: " + transfer.getProgress()); if (transfer.getStatus() == Status.error) { Log.i("transfere file", "Errorrr isss: " + transfer.getError()); transfer.cancel(); break; } } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } catch (XMPPException e) { // TODO Auto-generated catch block e.printStackTrace(); } Log.i("transfere file", "sending file done"); } }; thread.start(); } 

Quiero hacerlo igual que WhatsApp o cualquier otro medio bueno. Por favor sugiera una buena solución

Gracias

  • Android - MediaPlayer tamaño de búfer en ICS 4.0
  • ¿Cómo probar el código construido para salvar / restaurar el ciclo de vida de una actividad?
  • Android - Google Play filtrando xxhdpi
  • Ciclo de vida de la clase de aplicaciones Android
  • Eliminación de contactos (crudos) en Android 2.x
  • Android - Eclipse: Se ha manipulado el almacén de claves o la contraseña no fue correcta
  • Android: cómo saber si se mantiene pulsado el botón
  • Android - fuera de la excepción de memoria al crear mapa de bits
  • La mejor manera de determinar la aplicación actual (en ejecución) actual (utilizando un servicio?)
  • Cualquier forma de hacer que el navegador predeterminado de Android reconozca nombres de archivo no ASCII en las descargas de "Content-Disposition: attachment"?
  • ¿Es necesario establecer los oyentes de la interfaz Fragment a null en detach?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.