How can I check if I can make outgoing calls?
<p>Over whatever method the phone supports, i.e. GSM or CDMA (not SIP). I've tried using the ConnectivityManager, but the NetworkInfo for TYPE_MOBILE seems to return !IsConnected when connected to wifi, despite me having a full signal.</p>

<p>I want to know whether a phone call can be made, so I would guess TelephonyManager.getDataState is not appropriate.</p>

<h1>My Answer</h1>

<p>(Can't post it for another 7 hours)</p>

<p>It seems I was in the right place, just not quite checking the right method. In fact, it seems that only one TYPE_ of connection (i.e. TYPE_MOBILE, TYPE_WIFI) will return IsConnected(), and so I should check whether the connection IsAvailable() instead. I tested this with mobile data both enabled and disabled, and it gave the correct result in both cases (that is: true when I have a mobile signal, false when I don't; both with and without mobile data enabled).</p>

<p>Note: To disable mobile data, in ICS goto Settings -> Wireless &amp; Network -> More -> Mobile networks -> Data Enabled (unselect it).</p>
