La aplicación Messenger de Google no adjunta Imagen mientras envía MMS

No puedo enviar MMS con imagen en la aplicación Messenger de Google. Mientras que algunos de los dispositivos Android por defecto instalar esta aplicación de SMS y para que cuando envío MMS con Intent que no funciona.

El problema es ToNumber y MMS contenido establecido, pero la imagen no se adjunta en esta aplicación.

Nota: Ya he configurado la configuración APN MMS en mis dispositivos, y ya comprobar en varios dispositivos con la misma aplicación como Samsung s4, Motorola G4 Plus.

Este es mi código actualmente usado.

  String toNumbers = "comma seperated mobile numbers"; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { String defaultSmsPackageName = Telephony.Sms.getDefaultSmsPackage(getActivity()); Intent sendIntent = new Intent(Intent.ACTION_SEND); sendIntent.putExtra("address", toNumbers); sendIntent.setPackage("com.android.mms"); //Uri uri = Uri.fromFile(new File(getContext().getExternalFilesDir(""), "image.png")); File imagePath = new File(getFilesDir(), "images"); File newFile = new File(imagePath, "image.png"); Uri uri = getUriForFile(this, "packagename", newFile); File file = new File(contentUri.getPath()); if (file.exists()) { //Do something Log.d("TAG","Exist"); } sendIntent.putExtra(Intent.EXTRA_STREAM, uri); sendIntent.setType("image/png"); sendIntent.putExtra("sms_body", getString(R.string.sms_body, HostName)); if (defaultSmsPackageName != null) { sendIntent.setPackage(defaultSmsPackageName); } startActivityForResult(sendIntent, Constants.SEND_SMS_REQUEST); } else { Intent smsIntent = new Intent(android.content.Intent.ACTION_VIEW); smsIntent.putExtra("address", toNumbers); smsIntent.setPackage("com.android.mms"); Uri uri = Uri.fromFile(new File(getContext().getExternalFilesDir(""), "image.png")); smsIntent.putExtra(Intent.EXTRA_STREAM, uri); smsIntent.setType("image/png"); smsIntent.putExtra("sms_body", getString(R.string.sms_body, HostName)); startActivityForResult(smsIntent, Constants.SEND_SMS_REQUEST); } 

File_paths.xml

 <paths xmlns:android="http://schemas.android.com/apk/res/android"> <files-path name="files" path="images/" /> </paths> 

Manifeast.xml

 <provider android:name="android.support.v4.content.FileProvider" android:authorities="packagename" android:exported="false" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths" /> </provider> 

File_paths.xml y manifest.xml son los mismos que en su código.

Crear contenido uri :

 File imagePath = new File(getFilesDir(), "images"); File newFile = new File(imagePath, "image.png"); Uri contentUri = FileProvider.getUriForFile(this, "packagename", newFile); 

Compruebe el contenido uri:

 ImageView imageView = (ImageView) findViewById(R.id.imageview); //Your image should be displayed imageView.setImageURI(contentUri); 

Crear intención:

 Intent sendIntent = new Intent(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_TEXT, "Text to send"); sendIntent.putExtra(Intent.EXTRA_STREAM, contentUri); sendIntent.setType("image/png"); 

Solución probada en:

A) Galaxy S4, Android 5.0, Messenger ver: 1.9.036

B) Emulador: Nexus 5, Android 6.0, Mensajería ver: 1.0.001

  • Broadcastreceiver para obtener información de ServiceState
  • ¿Es posible reenviar la llamada VoiP a GSM
  • Cómo grabar la llamada en android? ¿Es posible?
  • ¿Cómo saber si estoy conectado correctamente a mi número de salida en Android?
  • Estado de la llamada telefónica
  • ¿Cómo averiguar el nombre del transportista cuando usa MVNO? (Quiero que el escrito en la barra de notificación)
  • Android: recibe el número de marcación de prensa de la otra parte
  • Detectar qué tarjeta SIM ha recibido el mensaje
  • ¿Cómo saber si se ha establecido una llamada?
  • ¿Qué sucede a nivel de sistema en una llamada entrante?
  • ¿Cómo comprobar el número de teléfono propio introducido por el usuario en EditText?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.