Returns whether the device is voice-capable (meaning, it can do MMS). - Android Hardware

Android examples for Hardware:Device Feature

Description

Returns whether the device is voice-capable (meaning, it can do MMS).

Demo Code

/*/*from  ww w  .ja v  a 2s  .  c  o m*/
 * Copyright (C) 2009 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import java.lang.reflect.Method;

import android.content.Context;
import android.telephony.TelephonyManager;

public class Main {
  /**
   * Returns whether the device is voice-capable (meaning, it can do MMS).
   */
  public static boolean isMmsCapable(Context context) {
    TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
    if (telephonyManager == null) {
      return false;
    }

    try {
      Class<?> partypes[] = new Class[0];
      Method sIsVoiceCapable = TelephonyManager.class.getMethod("isVoiceCapable", partypes);

      Object arglist[] = new Object[0];
      Object retobj = sIsVoiceCapable.invoke(telephonyManager, arglist);
      return (Boolean) retobj;
    } catch (java.lang.reflect.InvocationTargetException ite) {
      // Failure, must be another device.
      // Assume that it is voice capable.
    } catch (IllegalAccessException iae) {
      // Failure, must be an other device.
      // Assume that it is voice capable.
    } catch (NoSuchMethodException nsme) {
    }
    return true;
  }
}

Related Tutorials