2017-06-23 4 views
1

J'apprenais Anko commons et en cela, je vois Intent pour facile à écrire du code à startActivity. Ça marche. Mais dans ce que je vois Anko a des enveloppes d'appel pour certains Intentions largement utilisés:Comment utiliser les wrappers d'appel pour Intent Anko?

Goal     Solution 
------------   ------------------- 
Make a call   makeCall(number) without tel: 
Send a text   sendSMS(number, [text]) without sms: 
Browse the web  browse(url) 
Share some text  share(text, [subject]) 
Send a email   email(email, [subject], [text]) 

Je veux utiliser cette enveloppe, mais ne savent pas comment. Comment puis-je l'utiliser?

Référence Comme: https://github.com/Kotlin/anko/wiki/Anko-Commons-%E2%80%93-Intents#useful-intent-callers

@ 9spl ce que vous avez écrit dans la réponse que je sais que tous et je l'ai utilisé la dernière dépendance, mais ma première question était de savoir comment utiliser makeCall(). Mais j'ai obtenu cette réponse comment utiliser alors j'ai un autre problème, makeCall() ne fonctionne pas. J'ai déclaré la permission dans le manifeste bien que cela ne fonctionne pas. Pourquoi?

sendSMS() et parcourir() les deux travaillent, mais makeCall() ne fonctionne pas.

+1

Inclure Anko ('la compilation « org.jetbrains .... »') et appeler une de ces fonctions de 'Activity' (sans activité, vous pouvez spécifier explicitement , par exemple 'activity.browse (...)'). –

+0

oui, ça marche. Merci. Mais un autre problème quand j'utilise 'makeCall()' ça ne marche pas. Pourquoi? –

+0

Que se passe-t-il lorsque vous appelez 'makeCall()'? Y a-t-il des journaux? – Bryan

Répondre

1

assurez-vous juste que vous avez ajouté la dépendance à droite pour anko dans votre application gradle

compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2-3" 

compile "org.jetbrains.anko:anko-commons:0.10.0" 

Maintenant, il est si facile à utiliser l'utiliser comme fonctions de Anko Ex.if que vous voulez faire appel juste il suffit d'appeler cette fonction comme

makeCall("PHONE_NUMBER")

+0

Tout fonctionne bien mais mon prochain problème est quand j'appelle 'makeCall()' cela ne fonctionne pas –

+0

Assurez-vous que vous avez donné l'autorisation d'appel dans Manifest et même pour d'autres .. @ PatelPinkal – 9spl

+0

Je ne pense pas que vous ayez besoin spécifiquement de 'kotlin-stdlib-jre7'. D'après ce que je sais, 'kotlin-stdlib' devrait aussi fonctionner. – Mibac