GPRS 拨号(05_CallNotifyAPi)

GPRS 拨号

此示例代码展示如何使用电话相关的API(CallNotifyAPi)进行 GPRS 拨号。

分别使用三个接入点进行 GPRS 拨号

05_CallNotifyApi_1.png
05_CallNotifyApi_2.png
05_CallNotifyApi_3.png
 接入点名称为NULL,则选择设置里面默认的接入点名称进行 GPRS 拨号处理:
    

    if (RESULT_OK == Dial_StartGprsConnect2(m_hWnd, GPRS_FORCE_APP_TYPE))
    {
        MzMessageBoxEx(m_hWnd, L"使用设置默认的接入点,GPRS拨号成功!", L"", MB_OK);
    }
 使用提供的接入点名称(如:中国移动彩信,中国移动CMWAP,中国移动CMNET)进行 GPRS 拨号处理:
    

    if (RESULT_OK == Dial_StartGprsConnect2(NULL, GPRS_FORCE_APP_TYPE, L"中国移动CMWAP"))
    {
        MzMessageBoxEx(m_hWnd, L"使用中国移动CMWAP接入点,GPRS拨号成功!", L"", MB_OK);
    }
 断开 GPRS 连接:
    

    if (RESULT_OK == Dial_StopGprsConnect2(m_hWnd))
    {
        MzMessageBoxEx(m_hWnd, L"GPRS 已断开!", L"", MB_OK);
    }
 

完整示例

/************************************************************************/
/*
 * Copyright (C) Meizu Technology Corporation Zhuhai China
 * All rights reserved.
 * 中国珠海, 魅族科技有限公司, 版权所有.
 *
 * This file is a part of the Meizu Foundation Classes library.
 * Author:    
 * Create on: 2009-12-08
 */
/************************************************************************/

//请按照以步骤运行此实例代码:
//首先, 打开VS2005/2008创建一个Win 32智能设备项目
//在项目向导中选择M8SDK, 并勾选空项目
//然后,在项目中新建一个cpp文件,将此处代码拷贝到cpp文件中
//最后,按照M8SDK的帮助文档,配置项目属性
//现在,可以运行此程序了

//包含MZFC库的头文件
#include <mzfc_inc.h>

#include <CallNotifyApi.h>

//此代码演示了:
//  创建和初始化应用程序
//  创建和初始化窗体
//  PlatFormApi中CallNotifyApi的使用

#define MZ_IDC_STARTGPRSBTN         101
#define MZ_IDC_STARTGPRSBTN_MMS     102
#define MZ_IDC_STARTGPRSBTN_CMWAP   103
#define MZ_IDC_STARTGPRSBTN_CMNET   104
#define MZ_IDC_STOPGPRSBTN          105
#define MZ_IDC_EXITBTN              106

// 从 CMzWndEx 派生的主窗口类
class CSampleMainWnd : public CMzWndEx
{
    MZ_DECLARE_DYNAMIC(CSampleMainWnd);
public:
    UiButton m_StartGPRS;
    UiButton m_StartGPRS_mms;
    UiButton m_StartGPRS_CMWAP;
    UiButton m_StartGPRS_CMNET;
    UiButton m_StopGPRS;
    UiButton m_ExitBTN;

protected:
    // 窗口的初始化
    virtual BOOL OnInitDialog()
    {
        // 必须先调用基类的初始化
        if (!CMzWndEx::OnInitDialog())
        {
            return FALSE;
        }

        // 初始化按钮控件
        m_StartGPRS.SetButtonType(MZC_BUTTON_GREEN);
        m_StartGPRS.SetID(MZ_IDC_STARTGPRSBTN);
        m_StartGPRS.SetPos(80, 50, 320, 100);
        m_StartGPRS.SetText(L"GPRS拨号");
        AddUiWin(&m_StartGPRS);

        m_StartGPRS_mms.SetButtonType(MZC_BUTTON_GREEN);
        m_StartGPRS_mms.SetID(MZ_IDC_STARTGPRSBTN_MMS);
        m_StartGPRS_mms.SetPos(80, 150, 320, 100);
        m_StartGPRS_mms.SetText(L"GPRS中国移动彩信");
        AddUiWin(&m_StartGPRS_mms);

        m_StartGPRS_CMWAP.SetButtonType(MZC_BUTTON_GREEN);
        m_StartGPRS_CMWAP.SetID(MZ_IDC_STARTGPRSBTN_CMWAP);
        m_StartGPRS_CMWAP.SetPos(80, 250, 320, 100);
        m_StartGPRS_CMWAP.SetText(L"GPRS中国移动CMWAP");
        AddUiWin(&m_StartGPRS_CMWAP);

        m_StartGPRS_CMNET.SetButtonType(MZC_BUTTON_GREEN);
        m_StartGPRS_CMNET.SetID(MZ_IDC_STARTGPRSBTN_CMNET);
        m_StartGPRS_CMNET.SetPos(80, 350, 320, 100);
        m_StartGPRS_CMNET.SetText(L"GPRS中国移动CMNET");
        AddUiWin(&m_StartGPRS_CMNET);

        m_StopGPRS.SetButtonType(MZC_BUTTON_GREEN);
        m_StopGPRS.SetID(MZ_IDC_STOPGPRSBTN);
        m_StopGPRS.SetPos(80, 450, 320, 100);
        m_StopGPRS.SetText(L"GPRS断开");
        AddUiWin(&m_StopGPRS);

        m_ExitBTN.SetButtonType(MZC_BUTTON_ORANGE);
        m_ExitBTN.SetID(MZ_IDC_EXITBTN);
        m_ExitBTN.SetPos(80, 550, 320, 100);
        m_ExitBTN.SetText(L"退出");
        AddUiWin(&m_ExitBTN);

        return TRUE;
    }

    // 重写命令消息的处理函数
    virtual void OnMzCommand(WPARAM wParam, LPARAM lParam)
    {
        UINT_PTR id = LOWORD(wParam);
        switch(id)
        {
        case MZ_IDC_STARTGPRSBTN:
            {
                if (RESULT_OK == Dial_StartGprsConnect2(m_hWnd, GPRS_FORCE_APP_TYPE))
                {
                    MzMessageBoxEx(m_hWnd, L"使用设置默认的接入点,GPRS拨号成功!", L"", MB_OK);
                }
                else
                {
                    MzMessageBoxEx(m_hWnd, L"使用设置默认的接入点,GPRS拨号失败!", L"", MB_OK);
                }
                break;
            }
        case MZ_IDC_STARTGPRSBTN_MMS:
            {
                if (RESULT_OK == Dial_StartGprsConnect2(NULL, GPRS_FORCE_APP_TYPE, L"中国移动彩信"))
                {
                    MzMessageBoxEx(m_hWnd, L"使用中国移动彩信接入点,GPRS拨号成功!", L"", MB_OK);
                }
                else
                {
                    MzMessageBoxEx(m_hWnd, L"使用中国移动彩信接入点,GPRS拨号失败!", L"", MB_OK);
                }
                break;
            }
        case MZ_IDC_STARTGPRSBTN_CMWAP:
            {
                if (RESULT_OK == Dial_StartGprsConnect2(NULL, GPRS_FORCE_APP_TYPE, L"中国移动CMWAP"))
                {
                    MzMessageBoxEx(m_hWnd, L"使用中国移动CMWAP接入点,GPRS拨号成功!", L"", MB_OK);
                }
                else
                {
                    MzMessageBoxEx(m_hWnd, L"使用中国移动CMWAP接入点,GPRS拨号失败!", L"", MB_OK);
                }
                break;
            }
        case MZ_IDC_STARTGPRSBTN_CMNET:
            {
                if (RESULT_OK == Dial_StartGprsConnect2(NULL, GPRS_FORCE_APP_TYPE, L"中国移动CMNET"))
                {
                    MzMessageBoxEx(m_hWnd, L"使用中国移动CMNET接入点,GPRS拨号成功!", L"", MB_OK);
                }
                else
                {
                    MzMessageBoxEx(m_hWnd, L"使用中国移动CMNET接入点,GPRS拨号失败!", L"", MB_OK);
                }
                break;
            }
        case MZ_IDC_STOPGPRSBTN:
            {
                if (RESULT_OK == Dial_StopGprsConnect2(m_hWnd))
                {
                    MzMessageBoxEx(m_hWnd, L"GPRS 已断开!", L"", MB_OK);
                }
                break;
            }
        case MZ_IDC_EXITBTN:
            {
                PostQuitMessage(0);
                break;
            }
        }
    }

};

MZ_IMPLEMENT_DYNAMIC(CSampleMainWnd);

// 从 CMzApp 派生的应用程序类
class CSampleMainApp : public CMzApp
{
public:
    // 应用程序的主窗口
    CSampleMainWnd m_MainWnd;

    // 应用程序的初始化
    virtual BOOL Init()
    {
        // 初始化 COM 组件
        CoInitializeEx(0, COINIT_MULTITHREADED);

        // 创建窗口
        RECT rcWork = MzGetWorkArea();
        m_MainWnd.Create(rcWork.left, rcWork.top, RECT_WIDTH(rcWork), RECT_HEIGHT(rcWork), 0, 0, 0);
        m_MainWnd.SetBgColor(MzGetThemeColor(TCI_WINDOW_BG));
        m_MainWnd.Show();

        // 成功则返回 TRUE
        return TRUE;
    }

};

// 全局的应用程序对象
CSampleMainApp theApp;

Generated at Tue Feb 9 15:09:55 2010 for Meizu M8 SDK Documentation by  doxygen 1.6.1