0

我正在开发一个旨在允许使用 Twilio 进行紧急呼叫的应用程序 - 我的代码来自https://github.com/twilio/twilio-client-quickstart-android

我所做的与 GitHub 代码不同的是创建一个单独的AlertManager类,该类在Activity.

在任何时候,用户都必须能够打开应用程序并点击一个按钮,该按钮将(尽快)使用 Twilio 拨打紧急电话。

我的问题是 Twilio 需要clientDevice通过从我的服务器请求“capabilityToken”来创建一个。这很好,但令牌会在一小时后过期。

假设总是有一个外部互联网连接,我该如何做到这一点,以便我的应用程序总是clientDevice在内存中的某个地方有一个(带有有效令牌)可用的对象,这样当用户输入Activity紧急呼叫时,他们能够做到它立即无需应用程序请求新令牌或创建新令牌clientDevice

从使用飞行模式和硬编码有效令牌的快速测试看来clientDevice,只要 Twilio SDK 具有令牌,它就可以创建一个,即只需要一个网络请求来检索令牌,而不是如果需要另一个网络请求来创建clientDevice. _

我知道我可以使用某种方式Service来获取令牌,但我不完全确定我可以在哪里存储clientDevice. 它不能驻留在 an 中,Activity因为应用程序不会始终运行。我确实想知道创建自己的Application类,但据我了解,Android 可以并且将在需要时创建该类的新实例,这将导致我clientDevice从内存中删除。或者是否可以将其存储在Service然后向服务发送某种广播以进行调用?

我希望这有某种意义,如果有人有任何想法,将不胜感激。

4

1 回答 1

0

Twilio 开发人员布道者在这里。

我对令牌到期有一些想法。

首先,您可以将令牌到期时间设置为 24 小时。

其次,您可以使用Twilio 的AccessManager来获取访问令牌,并让您在令牌即将到期或到期时监听事件。

我不知道在您的应用程序在后台时保留活动对象,尽管我很害怕。希望其他人可以在这里帮助您。

于 2017-11-01T00:06:12.453 回答