我正在开发一个旨在允许使用 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
然后向服务发送某种广播以进行调用?
我希望这有某种意义,如果有人有任何想法,将不胜感激。