Twilio를 사용하여 긴급 통화를 허용하도록 설계된 앱을 개발 중입니다. 코드는 https://github.com/twilio/twilio-client-quickstart-android에서 파생되었습니다.Twilio clientDevice를 Android에 메모리에 저장하여 즉시 전화를 걸 수 있습니다.
GitHub 코드와 다른 모든 작업은 Activity
외부에서 Twilio 초기화를 수행하는 별도의 AlertManager
클래스를 만드는 것입니다.
언제든지 사용자는 앱을 열고 Twilio를 사용하여 (가능한 한 빨리) 긴급 통화를 할 수 있어야합니다.
제 문제는 Twilio가 내 서버에서 "capabilityToken"을 요청하여 clientDevice
을 생성해야한다는 것입니다. 괜찮지 만 토큰은 한 시간 후에 만료됩니다. 외부 인터넷 연결, 어떻게 그렇게 내 응용 프로그램은 항상 (유효한 토큰)을 clientDevice
는 사용자가 비상 전화를 만들기 위해 Activity
들어갈 때, 어딘가에 메모리에서 사용할 객체가 할 수 항상이 가정
앱에서 새로운 토큰을 요청하거나 새로운 clientDevice
을 만들지 않고 즉시 처리 할 수 있습니까?
비행기 모드를 사용한 빠른 테스트에서 유효한 토큰을 하드 코딩하면 Twilio SDK는 토큰을 가지고있는 한 clientDevice
을 만들 수 있습니다. 즉, 토큰을 검색하는 데 하나의 네트워크 요청 만 필요합니다. if 다른 하나는 clientDevice
을 만드는 데 필요합니다.
Service
을 토큰을 가져 오는 데 사용할 수는 있지만, 내 clientDevice
을 어디에 저장할 수 있는지 잘 모르겠습니다. 앱이 항상 실행되는 것은 아니기 때문에 Activity
안에있을 수 없습니다. 내 자신의 Application
클래스를 만드는 것에 대해 궁금해했지만, 안드로이드가 이해할 수 있고, 그때 내 clientDevice
이 메모리에서 제거 될 필요가있을 때, 그 클래스의 새로운 인스턴스를 생성 할 것입니다. 아니면 Service
에 저장 한 다음 서비스에 브로드 캐스트를 보내 전화를 걸 수 있습니까?
누군가가 아이디어를 갖고 있다면 이해할 수 있기를 바랍니다.