W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
類說明
在移動(dòng)開發(fā)過程中,常常要遇到調(diào)用移動(dòng)設(shè)備的需求,如調(diào)用攝像頭、通信錄、wifi列表、藍(lán)牙等等。CrossApp也為我們提供了調(diào)用Android和IOS平臺(tái)設(shè)備的統(tǒng)一接口,我們只需要在CrossApp寫統(tǒng)一的調(diào)用,然后在Android和IOS平臺(tái)設(shè)置相對(duì)的權(quán)限,這樣引擎會(huì)根據(jù)不同的平臺(tái)去調(diào)用相應(yīng)的執(zhí)行,達(dá)到一樣的效果。
CrossApp引擎中為我們提供設(shè)置調(diào)用的為CADevice,它在引擎的extensions\device目錄下。我們想要使用CADevice時(shí),需要引入:#include "CrossAppExt.h"并聲明命名空間:USING_NS_CC_EXT;
基類
CAObject
CADevice 方法(點(diǎn)擊查看方法介紹)
方法 | 說明 |
getSystemVersionWithIOS | 獲取IOS系統(tǒng)版本 |
getAppVersion | 獲取app版本 |
openCamera | 打開相機(jī) |
openAlbum | 打開相冊(cè) |
getScreenBrightness | 獲取屏幕亮度 |
setScreenBrightness | 設(shè)置屏幕亮度 |
writeToSavedPhotosAlbum | 保存到相冊(cè) |
getAddressBook | 獲取通信錄 |
updateVersion | 更新版本 |
getNetWorkType | 獲取網(wǎng)絡(luò)類型 |
getWifiListWithAndroid | 獲取WiFi列表 |
setVolume | 設(shè)置音量 |
getVolume | 獲取音量 |
OpenURL | 打開網(wǎng)址(調(diào)用瀏覽器打開網(wǎng)址) |
getBatteryLevel | 獲取電池電量 |
isNetWorkAvailble | 查看是否連接到網(wǎng)絡(luò) |
sendLocalNotification | 發(fā)送本地通知 |
getWifiConnectionInfo | 獲取WiFi連接信息 |
initBlueTooth | 初始化藍(lán)牙 |
setBlueToothType | 設(shè)置藍(lán)牙類型 |
startGyroscope | 開始陀螺儀 |
setGyroInterval | 陀螺間隔 |
stopGyroscope | 停止陀螺儀 |
通過上面的函數(shù)列表我們可以清楚的知道,CrossApp為我們提供的設(shè)備調(diào)用函數(shù),但我還有時(shí)還需要實(shí)現(xiàn)相應(yīng)的代理,才能獲得想要的信息,比如調(diào)用攝像機(jī)拍照后,我們想要獲得照片,那么我們必須要實(shí)現(xiàn)CAMediaDelegate代理,這我們才能獲得這張照片的問題。
我們這里查看一這些代理函數(shù):
攝像頭代理:
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);
//標(biāo)簽
CC_SYNTHESIZE_PASS_BY_REF(std::string, m_pBadgeValue, BadgeValue);
};
藍(lán)牙代理:
class CC_DLL CABlueToothDelegate
{
public:
virtual ~CABlueToothDelegate(){};
//藍(lán)牙狀態(tài)
virtual void getBlueToothState(CABlueToothState state) {};
//藍(lán)牙設(shè)備信息
virtual void getSearchBlueToothDevice(CABlueToothUnit unit){};
//開始查找藍(lán)牙設(shè)備
virtual void startDiscoveryBlueToothDevice(){};
//找到藍(lán)牙設(shè)備
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*
參數(shù):
解釋:獲取IOS系統(tǒng)版本
CC_DLL const char* getAppVersion();
返回值:const char*
參數(shù):
解釋:獲取app版本
CC_DLL void openCamera(CAMediaDelegate* target);
返回值:void
參數(shù):
類型 | 參數(shù)名 | 說明 |
CAMediaDelegate* | target | 媒體代理 |
解釋:打開相機(jī)
CC_DLL void openAlbum(CAMediaDelegate* target);
返回值:void
參數(shù):
類型 | 參數(shù)名 | 說明 |
CAMediaDelegate* | target | 媒體代理 |
解釋:打開相冊(cè)
CC_DLL float getScreenBrightness();
返回值:float
參數(shù):
解釋:獲取屏幕亮度
CC_DLL void setScreenBrightness(float brightness);
返回值:void
參數(shù):
類型 | 參數(shù)名 | 說明 |
float | brightness | 屏幕亮度 |
解釋:設(shè)置屏幕亮度
CC_DLL void writeToSavedPhotosAlbum(const std::string &s);
返回值:void
參數(shù):
類型 | 參數(shù)名 | 說明 |
const std::string | &s | 相冊(cè) |
解釋:保存到相冊(cè)
CC_DLL std::vector<CAAddressBookRecord> getAddressBook();
返回值:std::vector<CAAddressBookRecord>
參數(shù):
解釋:獲取通信錄
CC_DLL void updateVersion(const std::string &url ,unsigned int versionNumber ,const std::string &appId);
返回值:void
參數(shù):
類型 | 參數(shù)名 | 說明 |
onst std::string | &url | 網(wǎng)址 |
unsigned int | versionNumber | 版本號(hào) |
const std::string | &appId | AppID |
解釋:更新版本
CC_DLL CANetWorkType getNetWorkType();
返回值:CANetWorkType
參數(shù):
解釋:獲取網(wǎng)絡(luò)類型
CC_DLL void getWifiListWithAndroid(CAWifiDelegate *target);
返回值:void
參數(shù):
類型 | 參數(shù)名 | 說明 |
CAWifiDelegate | target | WiFi代理 |
解釋:獲取WiFi列表(Android)
CC_DLL void setVolume(float sender, int type);
返回值:void
參數(shù):
類型 | 參數(shù)名 | 說明 |
float | sender | 音量 |
int | type | 類型 |
解釋:設(shè)置音量
CC_DLL float getVolume(int type);
返回值:float
參數(shù):
類型 | 參數(shù)名 | 說明 |
int | type | 類型 |
解釋:獲取音量
CC_DLL void OpenURL(const std::string &url);
返回值:void
參數(shù):
類型 | 參數(shù)名 | 說明 |
const std::string | &url | 網(wǎng)址 |
解釋:打開網(wǎng)址(調(diào)用瀏覽器打開網(wǎng)址)
CC_DLL float getBatteryLevel();
返回值:float
參數(shù):
解釋:獲取電池電量
CC_DLL bool isNetWorkAvailble();
返回值:bool
參數(shù):
解釋:查看是否連接到網(wǎng)絡(luò)
CC_DLL void sendLocalNotification(const char* title, const char* content, unsigned long time);
返回值:void
參數(shù):
類型 | 參數(shù)名 | 說明 |
const char* | title | 標(biāo)題 |
const char* | content | 內(nèi)容 |
unsigned long | time | 時(shí)間 |
解釋:發(fā)送本地通知
CC_DLL CAWifiInfo getWifiConnectionInfo();
返回值:CAWifiInfo
參數(shù):
解釋:獲取WiFi連接信息
CC_DLL void initBlueTooth(CABlueToothDelegate *target);
返回值:void
參數(shù):
類型 | 參數(shù)名 | 說明 |
CABlueToothDelegate | *target | 藍(lán)牙代理 |
解釋:初始化藍(lán)牙
CC_DLL void setBlueToothType(CABlueToothType type);
返回值:void
參數(shù):
類型 | 參數(shù)名 | 說明 |
CABlueToothType | type | 藍(lán)牙類型 |
解釋:設(shè)置藍(lán)牙類型
typedef enum
{
CABLUETOOTHOPEN = 0, //開藍(lán)牙
CABLUETOOTHCLOSE, //關(guān)藍(lán)牙
CABLUETOOTHDISCOVERY = 3 , //尋找藍(lán)牙
CABLUETOOTHCANCELDISCOVERY //取消尋找藍(lán)牙
}CABlueToothType; //藍(lán)牙類型
CC_DLL void startGyroscope(CAGyroDelegate* delegate);
返回值:void
參數(shù):
類型 | 參數(shù)名 | 說明 |
CAGyroDelegate* | delegate | 陀螺儀代理 |
解釋:開始陀螺儀
CC_DLL void setGyroInterval(float interval);
返回值:void
參數(shù):
類型 | 參數(shù)名 | 說明 |
float | interval | 間隔 |
解釋:陀螺間隔
返回值:void
參數(shù):
解釋:停止陀螺儀
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: