title: Detect if an android device has mobile data capability
body: <p>I want to detect whether or not a device has mobile data capability. By mobile data capability I don't mean an active or connected mobile data connection, just the ability to use mobile data.</p>
  
  <p>I currently use the following</p>
  
  <pre><code>if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) {
      //I assume device has mobile data capability
  }
  </code></pre>
  
  <p>This works fine for most cases but one - If the device does not have calling facility but has the capability to utilize a cellular network for data connection only. Such devices are typically tablets which have a SIM card slot but it can be used only for data connection, not calling.</p>
  
  <p>How can I detect whether the device has mobile data capability in this case and in all other cases? What is the best method?</p>