Envoyer un MMS depuis mon application sur Android

Je souhaite envoyer MMS de ma demande à un numéro spécifique. J'ai cherché et trouvé ce code mais je n'ai aucune idée de ce code dont j'ai besoin ou pas. Mes questions sont:

– Peut-on m'expliquer ce code. Je suis débutant dans MMS.

  • Android ==> Analyse de la mémoire ==> Analyseur de mémoire Eclipse?
  • L'animation ViewPager s'efface / sort à la place de la diapositive
  • Comment définir le numéro de version de l'application dans Android Studio
  • Gridview disparaît?
  • Utilisation de WebView setHttpAuthUsernamePassword?
  • Balises HTML en chaîne pour TextView
  • De même, j'ai pensé que ce code permet à l'utilisateur d'envoyer des MMS à partir de mon application sans le déplacer dans la boîte de réception native de messagerie (et c'est ce que je veux). Est-ce que j'ai raison?

    – J'ai aussi un problème, je ne sais pas comment puis-je mettre ce code dans mon projet.

    C'est ce que j'ai trouvé

    MMS n'est qu'une requête http-post. Vous devez effectuer la demande en utilisant une fonction de réseau supplémentaire:

    final ConnectivityManager connMgr = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); final int result = connMgr.startUsingNetworkFeature( ConnectivityManager.TYPE_MOBILE, Phone.FEATURE_ENABLE_MMS); 

    Si vous récupérez le résultat avec la valeur Phone.APN_REQUEST_STARTED , vous devez attendre l'état approprié. Enregistrez BroadCastReciver et attendez jusqu'à Phone.APN_ALREADY_ACTIVE que Phone.APN_ALREADY_ACTIVE apparaisse:

     final IntentFilter filter = new IntentFilter(); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); context.registerReceiver(reciver, filter); 

    Si la connexion de fond est prête, créez du contenu et exécutez une demande. Si vous voulez le faire en utilisant le code interne d'Android, utilisez ceci:

     final SendReq sendRequest = new SendReq(); final EncodedStringValue[] sub = EncodedStringValue.extract(subject); if (sub != null && sub.length > 0) { sendRequest.setSubject(sub[0]); } final EncodedStringValue[] phoneNumbers = EncodedStringValue.extract(recipient); if (phoneNumbers != null && phoneNumbers.length > 0) { sendRequest.addTo(phoneNumbers[0]); } final PduBody pduBody = new PduBody(); if (parts != null) { for (MMSPart part : parts) { final PduPart partPdu = new PduPart(); partPdu.setName(part.Name.getBytes()); partPdu.setContentType(part.MimeType.getBytes()); partPdu.setData(part.Data); pduBody.addPart(partPdu); } } sendRequest.setBody(pduBody); final PduComposer composer = new PduComposer(this.context, sendRequest); final byte[] bytesToSend = composer.make(); HttpUtils.httpConnection(context, 4444L, MMSCenterUrl, bytesToSendFromPDU, HttpUtils.HTTP_POST_METHOD, !TextUtils.isEmpty(MMSProxy), MMSProxy, port); 
    • MMSCenterUrl: url de MMS-APNs,
    • MMSProxy: proxy de MMS-APNs,
    • Port: port de MMS-APNs

    Notez que certaines classes proviennent de paquetages internes. Le téléchargement à partir d'Android Git est requis. La demande doit être effectuée avec url à partir du code apn-space de l'utilisateur:

     public class APNHelper { public class APN { public String MMSCenterUrl = ""; public String MMSPort = ""; public String MMSProxy = ""; } public APNHelper(final Context context) { this.context = context; } public List<APN> getMMSApns() { final Cursor apnCursor = this.context.getContentResolver().query(Uri.withAppendedPath(Telephony.Carriers.CONTENT_URI, "current"), null, null, null, null); if ( apnCursor == null ) { return Collections.EMPTY_LIST; } else { final List<APN> results = new ArrayList<APN>(); while ( apnCursor.moveToNext() ) { final String type = apnCursor.getString(apnCursor.getColumnIndex(Telephony.Carriers.TYPE)); if ( !TextUtils.isEmpty(type) && ( type.equalsIgnoreCase(Phone.APN_TYPE_ALL) || type.equalsIgnoreCase(Phone.APN_TYPE_MMS) ) ) { final String mmsc = apnCursor.getString(apnCursor.getColumnIndex(Telephony.Carriers.MMSC)); final String mmsProxy = apnCursor.getString(apnCursor.getColumnIndex(Telephony.Carriers.MMSPROXY)); final String port = apnCursor.getString(apnCursor.getColumnIndex(Telephony.Carriers.MMSPORT)); final APN apn = new APN(); apn.MMSCenterUrl = mmsc; apn.MMSProxy = mmsProxy; apn.MMSPort = port; results.add(apn); } } apnCursor.close(); return results; } 

    Aidez-moi, s'il vous plaît

    One Solution collect form web for “Envoyer un MMS depuis mon application sur Android”

    Pourquoi n'utilisez-vous pas les fonctions du système Android:

    Jetez un oeil sur

    https://developer.android.com/guide/components/intents-common.html

     public void composeMmsMessage(String message, Uri attachment) { Intent intent = new Intent(Intent.ACTION_SEND); intent.setData(Uri.parse("smsto:")); // This ensures only SMS apps respond intent.putExtra("sms_body", message); intent.putExtra(Intent.EXTRA_STREAM, attachment); if (intent.resolveActivity(getPackageManager()) != null) { startActivity(intent); } } 

    À votre santé

    À M

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.