发送彩信时MMS代理和彩信端口出现空值问题

时间:2011-06-13 07:20:35

标签: android

我正在尝试使用帖子How to send image via MMS in Android? ....

以编程方式发送彩信

我正在尝试检索APN值MMSC,MMSProxy和MMSPort,但我得到MMSProxy和MMSPort的空值..然后我通过导航“设置 - >无线& amp;&amp ;;我在HTC设备中检查这些值。网络 - > MobileNetworks - > AccessPointNames - > MMS - >”中 但实际上没有为MMSProxy和MMSPort设置任何内容.... 但我可以手动发送彩信..
请帮助我如何获取MMSProxy和MMSPort值..或者PLZ告诉我,如果内置MMS应用程序将使用任何其他机制发送MMS .. ??

请帮助我...

1 个答案:

答案 0 :(得分:0)

可能无关紧要,代理可能意味着“替代”路线。也许发送彩信不需要备用路由所以它是空的?

内置的MMS应用程序使用一个名为TransactionSettings.java的类,该类查询Telephony内容提供程序,代码摘录。

public TransactionSettings(Context context, String apnName) {
    String selection = (apnName != null) ? APN + "='" + apnName.trim() + "'" : null;

    Cursor cursor = SqliteWrapper.query(context, context.getContentResolver(), Uri.withAppendedPath(Uri.parse(TELEPHONY_CONTENT_URI), "current"),
            APN_PROJECTION, selection, null, null);

    if (cursor == null) {
        Log.e(TAG, "Apn is not found in Database!");
        return;
    }

    boolean sawValidApn = false;
    try {
        while (cursor.moveToNext() && TextUtils.isEmpty(mServiceCenter)) {
            // Read values from APN settings
            if (isValidApnType(cursor.getString(COLUMN_TYPE), APN_TYPE_MMS)) {
                sawValidApn = true;
                mServiceCenter = cursor.getString(COLUMN_MMSC).trim();
                mProxyAddress = cursor.getString(COLUMN_MMSPROXY);
                if (isProxySet()) {
                    String portString = cursor.getString(COLUMN_MMSPORT);
                    try {
                        mProxyPort = Integer.parseInt(portString);
                    } catch (NumberFormatException e) {
                        if (TextUtils.isEmpty(portString)) {
                            Log.w(TAG, "mms port not set!");
                        } else {
                            Log.e(TAG, "Bad port number format: " + portString, e);
                        }
                    }
                }
            }
        }
    } finally {
        cursor.close();
    }

话虽如此,我使用这种方法仍然得到空值。

也许你运气好了?