Nous avons reçu un avis de politique de playStore comme:
Le manifeste de votre application demande le groupe d'autorisations Journal des appels (par exemple, READ_CALL_LOG, WRITE_CALL_LOG, PROCESS_OUTGOING_CALLS)
Il doit être activement enregistré en tant que gestionnaire par défaut du téléphone ou de l'assistant sur l'appareil.
Je ne suis pas en mesure de comprendre ce que Assistant gestionnaire sur l'appareil. Toute contribution ou suggestion est la bienvenue.
quelles sont les exigences minimales de l'application Android pour remplir l'exigence.
Consultez la documentation sur: https://developer.Android.com/reference/Android/telecom/TelecomManager#ACTION_CHANGE_DEFAULT_DIALER
Exemple de code:
Intent intent = new Intent(TelecomManager.ACTION_CHANGE_DEFAULT_DIALER);
intent.putExtra(TelecomManager.EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME, getActivity().getPackageName());
startActivity(intent);
En plus de ce que marmor a déclaré, la documentation mise à jour pour Android 10 Q indique: -
Ceci n'est plus supporté depuis Q, veuillez utiliser
RoleManager.createRequestRoleIntent(String)
avecRoleManager.ROLE_DIALER
au lieu.
Le code a réellement fonctionné lorsque j'ai suivi la réponse de freezo9 concernant les filtres d'intention dans le fichier manifeste: - https://stackoverflow.com/a/55716209/7552894
en ajoutant ceux-ci: -
<intent-filter>
<action Android:name="Android.intent.action.VIEW"/>
<action Android:name="Android.intent.action.DIAL"/>
<category Android:name="Android.intent.category.DEFAULT"/>
<category Android:name="Android.intent.category.BROWSABLE"/>
<data Android:scheme="tel"/>
</intent-filter>
<intent-filter>
<action Android:name="Android.intent.action.DIAL"/>
<category Android:name="Android.intent.category.DEFAULT"/>
</intent-filter>
Vous ne pouvez pas en faire la valeur par défaut par programme. Le fait est que l'utilisateur doit choisir la valeur par défaut, afin qu'il puisse choisir quelle application reçoit ses SMS et ses appels. Vous pourrez peut-être le faire avec root, mais rien d'autre.
Soit dit en passant, si votre application n'est pas un gestionnaire de téléphone, mais que vous en avez toujours besoin pour que les fonctionnalités fonctionnent, vous pouvez essayer d'obtenir une dérogation (voir le dernier paragraphe de l'article): https://support.google. com/googleplay/Android-developer/answer/9047303? hl = en afin que votre application ne soit pas un gestionnaire de téléphone mais puisse toujours obtenir ces autorisations.