mensajes mensaje google android android-intent telephony mms

android - mensaje - La aplicación Messenger de Google no adjunta la imagen mientras envía MMS



messages android (1)

No puedo enviar MMS con imagen en la aplicación Messenger de Google. Mientras que algunos de los dispositivos Android instalan por defecto esta aplicación de SMS y para eso cuando envío MMS usando Intent de lo que no está funcionando.

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

Nota: Ya configuré la configuración MMS APN en mis dispositivos, y ya verifico múltiples dispositivos con la misma aplicación, como Samsung s4, Motorola G4 Plus.

Este es mi código actualmente que utilizo.

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 tu código.

Crea contenido uri :

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

Verifique el contenido uri:

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

Crear intento:

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 versión: 1.9.036

b) Emulador: Nexus 5, Android 6.0, mensajería, versión: 1.0.001