课程表

入门与环境搭建

简单控件的使用

视图控制

调用、存储、网络和动画

其他控件的使用

工具箱
速查手册

CADevice调用设备

当前位置:免费教程 » 移动开发 » CrossApp

类说明

在移动开发过程中,常常要遇到调用移动设备的需求,如调用摄像头、通信录、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代理,这我们才能获得这张照片的问题。

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


摄像头代理:

  1. class CC_DLL CATabBarItem
  2. : public CABarItem
  3. {
  4. public:
  5. static CATabBarItem* create(const std::string& title, CAImage* image, CAImage* selectedImage = NULL);
  6. public:
  7. CATabBarItem();
  8. virtual ~CATabBarItem();
  9. bool init(const std::string& title, CAImage* image, CAImage* selectedImage = NULL);
  10. //获得照片纹理
  11. CC_SYNTHESIZE_RETAIN(CAImage*, m_pSelectedImage, SelectedImage);
  12. //标签
  13. CC_SYNTHESIZE_PASS_BY_REF(std::string, m_pBadgeValue, BadgeValue);
  14. };


蓝牙代理:

  1. class CC_DLL CABlueToothDelegate
  2. {
  3. public:
  4. virtual ~CABlueToothDelegate(){};
  5. //蓝牙状态
  6. virtual void getBlueToothState(CABlueToothState state) {};
  7. //蓝牙设备信息
  8. virtual void getSearchBlueToothDevice(CABlueToothUnit unit){};
  9. //开始查找蓝牙设备
  10. virtual void startDiscoveryBlueToothDevice(){};
  11. //找到蓝牙设备
  12. virtual void finishedDiscoveryBlueToothDevice(){};
  13. };


WIFI代理:

  1. class CC_DLL CAWifiDelegate
  2. {
  3. public:
  4. virtual ~CAWifiDelegate(){};
  5. //wifi信息
  6. virtual void getWifiListFunc(std::vector<CAWifiInfo> _wifiInfoList) = 0;
  7. };


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

参数:

类型参数名说明
floatbrightness屏幕亮度

解释:设置屏幕亮度


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
&appIdAppID

解释:更新版本


CC_DLL CANetWorkType getNetWorkType();

返回值:CANetWorkType

参数:

解释:获取网络类型


CC_DLL void getWifiListWithAndroid(CAWifiDelegate *target);

返回值:void

参数:

类型参数名说明
CAWifiDelegatetargetWiFi代理

解释:获取WiFi列表(Android)


CC_DLL void setVolume(float sender, int type);

返回值:void

参数:

类型参数名说明
floatsender音量
inttype类型

解释:设置音量


CC_DLL float getVolume(int type);

返回值:float

参数:

类型参数名说明
inttype类型

解释:获取音量


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 longtime时间

解释:发送本地通知


CC_DLL CAWifiInfo getWifiConnectionInfo();

返回值:CAWifiInfo

参数:

解释:获取WiFi连接信息


CC_DLL void initBlueTooth(CABlueToothDelegate *target);

返回值:void

参数:

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

解释:初始化蓝牙


CC_DLL void setBlueToothType(CABlueToothType type);

返回值:void

参数:

类型参数名说明
CABlueToothTypetype蓝牙类型

解释:设置蓝牙类型


  1. typedef enum
  2. {
  3. CABLUETOOTHOPEN = 0, //开蓝牙
  4. CABLUETOOTHCLOSE, //关蓝牙
  5. CABLUETOOTHDISCOVERY = 3 , //寻找蓝牙
  6. CABLUETOOTHCANCELDISCOVERY //取消寻找蓝牙
  7. }CABlueToothType; //蓝牙类型

CC_DLL void startGyroscope(CAGyroDelegate* delegate);

返回值:void

参数:

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

解释:开始陀螺仪


CC_DLL void setGyroInterval(float interval);

返回值:void

参数:

类型参数名说明
floatinterval间隔

解释:陀螺间隔


CC_DLL void stopGyroscope();

返回值:void

参数:

解释:停止陀螺仪

转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号