Comment envoyer un SMS dans Android Kitkat à partir d'une application non par défaut sans écrire à SMS Provider

Mon application Android utilise SMS pour envoyer silencieusement les notifications. Avant Kitkat, ces notifications n'ont pas été enregistrées dans le fournisseur de SMS et n'ont donc pas figuré dans les listes de conversation de l'utilisateur. C'est le comportement souhaité de l'application.

Avec les modifications SMS de Kitkat (reportez-vous à la documentation SmsManger ci-dessous), ces messages sont encore en cours d'envoi, mais sont maintenant automatiquement écrits sur le fournisseur de SMS et apparaissent ainsi dans les listes de conversation de l'utilisateur. Ceci n'est pas souhaitable pour mon application.

  • Plusieurs nouveaux Proguard emploient les services Google Play v10.2.6 à v11.0.0 dans un projet Multidex
  • Le thème personnalisé interfère avec la couleur de fond snack
  • GetOutputMediaFile (int) est indéfini pour le type nouveau Camera.PictureCallback () {} erreur qui me confond
  • Lors du défilement de ListView personnalisé, la valeur de la case à cocher change
  • Afficher uniquement les touches numériques sur Soft Keyboard dans Android?
  • Faire appel à AppBarLayout pour faire défiler dans WebView
  • À partir d'Android 4.4 (niveau API 19), si et seulement si une application n'est pas sélectionnée comme application SMS par défaut, le système écrit automatiquement les messages envoyés en utilisant cette méthode pour le fournisseur SMS (l'application SMS par défaut est toujours responsable de l'écriture envoyée Messages au fournisseur de SMS). Pour plus d'informations sur la façon de se comporter comme application SMS par défaut, voir Téléphonie.

    Il semble que je pourrais empêcher l'écriture automatique au fournisseur en faisant de mon application la valeur par défaut, puis je ne l'écris pas au fournisseur. Cependant, ce serait une expérience utilisateur terrible dans le contexte de mon application, donc je considérerais seulement comme un dernier recours absolu.

    Ma question est alors: existe-t-il un moyen d'envoyer en silence des SMS dans Kitkat sans que mon application ne soit l'application par défaut?

    J'ai lu les réponses à cette question. Envoyer un message SMS en utilisant une application SMS non par défaut sur Android 4.4, mais cela concerne plus particulièrement les messages écrits par le fournisseur. Je ne veux pas cela.

  • Comment capturer onClick événement dans Android pour un spinner
  • Image de photo sur le support de surface, dessin: Exception en raison du type de surface
  • Création d'une application gap gap pour Android
  • Mylib.so a des déménagements de texte. Cela gaspille la mémoire et constitue un risque pour la sécurité. S'il-vous-plaît, réparez
  • Erreur: Uh oh! ENOENT, aucun tel fichier ou répertoire '<météore-application> /. Meteor / local / cordova-build / platform / android / local.properties'
  • Android java.net.UnknownHostException: l'hôte n'est pas résolu (question de stratégie)
  • One Solution collect form web for “Comment envoyer un SMS dans Android Kitkat à partir d'une application non par défaut sans écrire à SMS Provider”

    Une réponse courte est non.

    Longue réponse :

    Il y a effectivement des options, mais cela implique beaucoup de travail. L'un d'eux consiste à télécharger le code source de l'aidep et à modifier le mms.apk pour lui permettre de recevoir des intentions de votre application pour envoyer des sms sans écrire au fournisseur.

    Une autre façon est de baksmali votre application de sms par défaut de sms et d'ajouter un code smali qui vous permettrait de faire la même chose que ci-dessus. Cela nécessiterait une connaissance technique des applications smali et decompilation / recompilation.

    Cela dit, il y a des problèmes qui surgiront, comme si l'utilisateur du téléphone décide d'utiliser une application sms / mms tierce pour ses besoins courts de messagerie.

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