JSRUN 用代码说话

CADevice

编辑教程

CADevice

类说明

在移动开发过程中,常常要遇到调用移动设备的需求,如调用摄像头、通信录、wifi列表、蓝牙等等。

CrossApp也为我们提供了调用Android和IOS平台设备的统一接口,我们只需要在CrossApp写统一的调用,然后在Android和IOS平台设置相对的权限,这样引擎会根据不同的平台去调用相应的执行,达到一样的效果。

CrossApp引擎中为我们提供设置调用的为CADevice,它在引擎的extensions\device目录下。

想要使用CADevice时,需要引入:#include "CrossAppExt.h"并声明命名空间:USING_NS_CC_EXT;

基类

CAObject

CADevice 方法

方法 说明
getSystemVersionWithIOS 获取IOS系统版本
getAppVersion 获取app版本
openCamera 打开相机
openAlbum 打开相册
getScreenBrightness 获取屏幕亮度
setScreenBrightness 设置屏幕亮度
writeToSavedPhotosAlbum 保存到相册
getAddressBook 获取通信录
updateVersion 更新版本
getNetWorkType 获取网络类型
getWifiListWithAndroid 获取WiFi列表
setVolume 设置音量
getVolume 获取音量
OpenURL 打开网址(调用浏览器打开网址)
getBatteryLevel 获取电池电量
isNetWorkAvailble 查看是否连接到网络
sendLocalNotification 发送本地通知
getWifiConnectionInfo 获取WiFi连接信息
initBlueTooth 初始化蓝牙
setBlueToothType 设置蓝牙类型
startGyroscope 开始陀螺仪
setGyroInterval 陀螺间隔
stopGyroscope 停止陀螺仪

通过上面的函数列表我们可以清楚的知道,CrossApp为我们提供的设备调用函数,但我还有时还需要实现相应的代理,才能获得想要的信息,比如调用摄像机拍照后,我们想要获得照片,那么我们必须要实现CAMediaDelegate代理,这我们才能获得这张照片的问题。

我们这里查看一这些代理函数

摄像头代理

class CC_DLL CATabBarItem 
: public CABarItem
{

public:

    static CATabBarItem* create(const std::string& title, CAImage* image, CAImage* selectedImage = NULL);

public:
    CATabBarItem();

    virtual ~CATabBarItem();

    bool init(const std::string& title, CAImage* image, CAImage* selectedImage = NULL);

    //获得照片纹理
    CC_SYNTHESIZE_RETAIN(CAImage*, m_pSelectedImage, SelectedImage);

    //标签
    CC_SYNTHESIZE_PASS_BY_REF(std::string, m_pBadgeValue, BadgeValue);

};

蓝牙代理

class CC_DLL CABlueToothDelegate
{
public:
    virtual ~CABlueToothDelegate(){};

    //蓝牙状态
    virtual void getBlueToothState(CABlueToothState state) {};

    //蓝牙设备信息
    virtual void getSearchBlueToothDevice(CABlueToothUnit unit){};

    //开始查找蓝牙设备
    virtual void startDiscoveryBlueToothDevice(){};

    //找到蓝牙设备
    virtual void finishedDiscoveryBlueToothDevice(){};
};

WIFI代理

class CC_DLL CAWifiDelegate
{
public:
    virtual ~CAWifiDelegate(){};

    //wifi信息
    virtual void getWifiListFunc(std::vector<CAWifiInfo> _wifiInfoList) = 0;
};

CADevice 方法介绍

CC_DLL const char* getSystemVersionWithIOS();

返回值:const char*

参数:

解释:获取IOS系统版本

CC_DLL const char* getAppVersion();

返回值:const char*

参数:

解释:获取app版本

CC_DLL void openCamera(CAMediaDelegate* target);

返回值:void

参数:

类型 参数名 说明
CAMediaDelegate* target 媒体代理

解释:打开相机

CC_DLL void openAlbum(CAMediaDelegate* target);

返回值:void

参数:

类型 参数名 说明
CAMediaDelegate* target 媒体代理

解释:打开相册

CC_DLL float getScreenBrightness();

返回值:float

参数:

解释:获取屏幕亮度

CC_DLL void setScreenBrightness(float brightness);

返回值:void

参数:

类型 参数名 说明
float brightness 屏幕亮度

解释:设置屏幕亮度

CC_DLL void writeToSavedPhotosAlbum(const std::string &s);

返回值:void

参数:

类型 参数名 说明
const std::string &s 相册

解释:保存到相册

CC_DLL std::vector<CAAddressBookRecord> getAddressBook();

返回值:std::vector<CAAddressBookRecord>

参数:

解释:获取通信录

CC_DLL void updateVersion(const std::string &url ,unsigned int versionNumber ,const std::string &appId);

返回值:void

参数:

类型 参数名 说明
onst std::string &url 网址
unsigned int versionNumber 版本号
const std::string &appId AppID

解释:更新版本

CC_DLL CANetWorkType getNetWorkType();

返回值:CANetWorkType

参数:

解释:获取网络类型

CC_DLL void getWifiListWithAndroid(CAWifiDelegate *target);

返回值:void

参数:

类型 参数名 说明
CAWifiDelegate target WiFi代理

解释:获取WiFi列表(Android)

CC_DLL void setVolume(float sender, int type);

返回值:void

参数:

类型 参数名 说明
float sender 音量
int type 类型

解释:设置音量

CC_DLL float getVolume(int type);

返回值:float

参数:

类型 参数名 说明
int type 类型

解释:获取音量

CC_DLL void OpenURL(const std::string &url);

返回值:void

参数:

类型 参数名 说明
const std::string &url 网址

解释:打开网址(调用浏览器打开网址)

CC_DLL float getBatteryLevel();

返回值:float

参数:

解释:获取电池电量

CC_DLL bool isNetWorkAvailble();

返回值:bool

参数:

解释:查看是否连接到网络

CC_DLL void sendLocalNotification(const char title, const char content, unsigned long time);

返回值:void

参数:

类型 参数名 说明
const char* title 标题
const char* content 内容
unsigned long time 时间

解释:发送本地通知

CC_DLL CAWifiInfo getWifiConnectionInfo();

返回值:CAWifiInfo

参数:

解释:获取WiFi连接信息

CC_DLL void initBlueTooth(CABlueToothDelegate *target);

返回值:void

参数:

类型 参数名 说明
CABlueToothDelegate *target 蓝牙代理

解释:初始化蓝牙

CC_DLL void setBlueToothType(CABlueToothType type);

返回值:void

参数:

类型 参数名 说明
CABlueToothType type 蓝牙类型

解释:设置蓝牙类型

typedef enum
{
    CABLUETOOTHOPEN = 0,            //开蓝牙
    CABLUETOOTHCLOSE,               //关蓝牙
    CABLUETOOTHDISCOVERY = 3 ,      //寻找蓝牙
    CABLUETOOTHCANCELDISCOVERY      //取消寻找蓝牙

}CABlueToothType;     //蓝牙类型

CC_DLL void startGyroscope(CAGyroDelegate* delegate);

返回值:void

参数:

类型 参数名 说明
CAGyroDelegate* delegate 陀螺仪代理

解释:开始陀螺仪

CC_DLL void setGyroInterval(float interval);

返回值:void

参数:

类型 参数名 说明
float interval 间隔

解释:陀螺间隔

CC_DLL void stopGyroscope();

返回值:void

参数:

解释:停止陀螺仪

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟