Sunday, May 9, 2010

Android Function: public static boolean isCmwap(Context context)

    public static boolean isCmwap(Context context) {

        ConnectivityManager manager = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = manager.getActiveNetworkInfo();
        if (networkInfo == null
                || networkInfo.getType() == ConnectivityManager.TYPE_WIFI)
            return false;

        boolean result = false;

        Cursor mCursor = context.getContentResolver().query(
                Uri.parse("content://telephony/carriers"),
                new String[] { "apn" }, "current=1", null, null);
        if (mCursor != null) {
            try {
                if (mCursor.moveToFirst()) {
                    String name = mCursor.getString(0);
                    if (name != null && name.trim().equalsIgnoreCase("cmwap"))
                        result = true;
                }
            } catch (Exception e) {

            } finally {
                mCursor.close();
            }
        }
        return result;
    }


NOTE that you should put "<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>" into your AndroidManifest.xml to obtain enough permission.

No comments: