如何使用Intent Anko的调用包装器?

时间:2017-06-23 11:57:39

标签: android android-intent kotlin anko

我正在学习Anko个公共空间,在那里,我看到Intent很容易为startActivity编写代码。它正在发挥作用。但在那里,我看到Anko为一些广泛使用的Intents调用了包装器:

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])

所以我想使用这个包装器,但不知道如何。我该怎么用?

参考赞:https://github.com/Kotlin/anko/wiki/Anko-Commons-%E2%80%93-Intents#useful-intent-callers

@ 9spl 你在答案中写的内容我知道所有和我使用过最新的依赖关系,但我的第一个问题是如何使用 makeCall()。但我得到了答案如何使用然后我有另一个问题, makeCall()不起作用。我已经在清单中声明了许可,尽管它不起作用。为什么呢?

sendSMS() browse()两者都有效,但 makeCall()无效。

2 个答案:

答案 0 :(得分:1)

确保您已在app gradle中添加了对anko的正确依赖

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

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

现在它很容易使用它作为Anko的功能使用它 例如,如果您想拨打电话,只需将此功能称为

即可

makeCall("PHONE_NUMBER")

答案 1 :(得分:0)

您需要在清单文件中添加CALL_PHONE权限,即<uses-permission android:name="android.permission.CALL_PHONE"/>,并要求用户提供运行时CALL_PHONE权限。