Como saber se meu celular é suportado ou não pelo VoLTE
P>Pois andróide não fornece nenhum apis padrão para verificar o suporte a Volte através de código, pode-se fazer isso para a maioria dos casos através de reflection:
TelephonyManager tem método isVolteAvailable que está oculto e pode ser acessado através de reflection para todos os dispositivos usando 6.0 e acima.
- TelephonyManager manager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
- boolean ret = false;
- try {
- Method method = manager.getClass().getMethod("isVolteAvailable");
- ret = (boolean) method.invoke(manager);
- } catch (Exception ex) {
- }
ImsManager tem método isVolteEnabledByPlatform para ser usado acima de 6.0 e isEnhanced4gLteModeSettingEnabledByPlatform mesmo método com nome diferente que pode ser usado a partir de 5.0.
- try {
- Class<?> c = Class.forName("com.android.ims.ImsManager");
- Class[] argTypes = new Class[] { Context.class };
- Method main = c.getDeclaredMethod("isVolteProvisionedOnDevice", argTypes);
- boolean voltePro = main.invoke(null, (Object)this));
- Method main1 = c.getDeclaredMethod("isVolteEnabledByPlatform", argTypes); // isEnhanced4gLteModeSettingEnabledByPlatform for below 5
- boolean voltebyPlat = main1.invoke(null, (Object)this));
- } catch (Exception e) {
- }
Artigos semelhantes
- Todos os telefones LTE são telefones VoLTE? Se não, como posso ver um telefone VoLTE a olhar para as especificações?
- Posso fazer chamadas de um dispositivo VoLTE para um dispositivo não VoLTE?
- Que formatos de vídeo é suportado pelo WhatsApp?
- Que formatos de ficheiro de áudio é suportado pelo iTunes?