web-dev-qa-db-fra.com

Comment bloquer les appels dans Android

Je veux bloquer les appels de quelques numéros, pour cela, je veux écrire une application de mon choix . Alors, quelles sont les API que je devrais utiliser?

En gros, je veux être averti quand un appel arrive, je veux comparer les numéros si c'est ce que je veux bloquer, je veux couper l'appel ou le mettre en sourdine ou si possible le mettre en sourdine et l'enregistrer.

68
Anurag Uniyal

OMG!!! OUI, WE POUVONS FAIRE CELA !!! J'allais me tuer après 24 heures de recherches et de découvertes ... Mais j'ai trouvé une solution "fraîche"!

// "cheat" with Java reflection to gain access to TelephonyManager's
// ITelephony getter
Class c = Class.forName(tm.getClass().getName());
Method m = c.getDeclaredMethod("getITelephony");
m.setAccessible(true);
telephonyService = (ITelephony)m.invoke(tm);

des centaines de personnes souhaitant développer leur logiciel de contrôle des appels visitent ce point de départ

il y a un projet. et il y a des commentaires importants (et des crédits)

brièvement: copier un fichier, ajouter des autorisations au manifeste, copier-coller la source pour la gestion de la téléphonie)))

Quelques informations supplémentaires pour vous. AT commandes que vous pouvez envoyer uniquement si vous êtes enraciné. Alors vous pouvez tuer le processus système et envoyer des commandes mais vous aurez besoin d’un redémarrage pour permettre à votre téléphone de recevoir et d’envoyer des appels =)))

Je suis très heureux =) Maintenant, mon Shake2MuteCall recevra une mise à jour!

64
foryou

C'est possible et vous n'avez pas besoin de le coder vous-même. 

Réglez simplement le volume de la sonnerie sur zéro et la vibration sur none si incomingNumber correspond à une chaîne vide. C'est tout ... 

C'est fait pour vous avec l'application Nostalk d'Android Market. Juste essayer ... 

5
user176167

Dans Android-N, cette fonctionnalité est incluse. check Number-blocking update pour Android N

Android N prend désormais en charge le blocage de numéros sur la plate-forme et fournit un API de structure permettant aux fournisseurs de services de gérer une liste de numéros bloqués . L'application SMS par défaut, l'application téléphonique par défaut et les applications du fournisseur peuvent lire depuis et écrire dans la liste des numéros bloqués. La liste n'est pas accessible à une autre application.

avantage de sont:

  1. Les numéros bloqués sur les appels sont également bloqués sur les textes
  2. Les numéros bloqués peuvent persister lors des réinitialisations et des périphériques via la fonctionnalité Sauvegarde et restauration
  3. Plusieurs applications peuvent utiliser la même liste de numéros bloqués

Pour plus d'informations, voir Android.provider.BlockedNumberContract 

Mettre à jour un projet existant.

Pour compiler votre application sur la plate-forme Android N, vous devez utiliser le kit de développement Java 8 (JDK 8). Pour utiliser certains outils avec Android Studio 2.1, vous devez installer l’environnement Java 8 Runtime (JRE 8).

Ouvrez le fichier build.gradle de votre module et mettez à jour les valeurs comme suit:

Android {
  compileSdkVersion 'Android-N'
  buildToolsVersion 24.0.0 rc1
  ...

  defaultConfig {
     minSdkVersion 'N'
     targetSdkVersion 'N'
     ...
  }
  ...
}
3
Amit Vaghela

Vous pouvez simplement rediriger des numéros spécifiques de vos contacts vers votre messagerie vocale. C'est déjà supporté.

Sinon, je suppose que la documentation pour "Contacts" serait un bon endroit pour commencer à chercher.

3
Cogsy