DeviceUtils.h
// // DeviceUtils.h // gamemoom // // Created by Song on 14-8-20. // // #ifndef __gamemoom__DeviceUtils__ #define __gamemoom__DeviceUtils__ #include <iostream> using namespace std; const char* getModel(); int getSdkVersion(); const char* getOsVersion(); const char* getPhoneNumber(); #endif /* defined(__gamemoom__DeviceUtils__) */
DeviceUtils.mm
Ios端获取设备信息
// // DeviceUtils.m // gamemoom // // Created by Song on 14-8-20. // // #import "DeviceUtils.h" const char* getModel() { NSString *strModel = [[UIDevice currentDevice] model]; return [strModel UTF8String]; } int getSdkVersion() { return 0; } const char* getOsVersion() { NSString *strSysVersion = [[UIDevice currentDevice] systemVersion]; return [strSysVersion UTF8String]; } const char* getPhoneNumber() { return ""; }
DeviceUtils.cpp
Android端获取设备信息
// // DeviceUtils.cpp // gamemoom // // Created by Song on 14-8-20. // // #include "DeviceUtils.h" #include <platform/android/jni/JniHelper.h> USING_NS_CC; static const char* JAVA_CLASS_NAME = "com/easygo/games/utils/DeviceUtils"; extern "C" { static const char* jni_GetStaticMethod_string(const char* className, const char* methodName) { std::string ret; JniMethodInfo t; if (JniHelper::getStaticMethodInfo(t, className, methodName, "()Ljava/lang/String;")) { jstring retFromJava = (jstring)t.env->CallStaticObjectMethod(t.classID, t.methodID); const char* str = t.env->GetStringUTFChars(retFromJava, 0); ret = str; t.env->ReleaseStringUTFChars(retFromJava, str); t.env->DeleteLocalRef(t.classID); } return ret.c_str(); } static int jni_GetStaticMethod_int(const char* className, const char* methodName) { int ret = 0; JniMethodInfo t; if (JniHelper::getStaticMethodInfo(t, className, methodName, "()I")) { ret = t.env->CallStaticIntMethod(t.classID, t.methodID); t.env->DeleteLocalRef(t.classID); } return ret; } } const char* getModel() { return jni_GetStaticMethod_string(JAVA_CLASS_NAME, "getModel"); } int getSdkVersion() { return jni_GetStaticMethod_int(JAVA_CLASS_NAME, "getSdkVersion"); } const char* getOsVersion() { return jni_GetStaticMethod_string(JAVA_CLASS_NAME, "getOsVersion"); } const char* getPhoneNumber() { return jni_GetStaticMethod_string(JAVA_CLASS_NAME, "getPhoneNumber"); }
DeviceUtils.java
Android端的具体实现
package com.easygo.games.utils; import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.os.Build; import android.telephony.TelephonyManager; /** * Device Utils * Created by song on 14-8-20. */ public class DeviceUtils { public static Context context; public static String getModel() { return Build.MODEL; } public static String getPhoneNumber() { TelephonyManager phoneMgr = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE); return phoneMgr.getLine1Number(); } public static int getSdkVersion() { return Build.VERSION.SDK_INT; } public static String getOsVersion() { return Build.VERSION.RELEASE; } public static String getPackageVersionName() { try { PackageInfo packageInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), 0); if (null != packageInfo) { return packageInfo.versionName; } } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } return ""; } }
Android获取本机号码,需要在AndroidManifest.xml中添加权限:
<uses-permission android:name=”android.permission.READ_PHONE_STATE” />
参考链接:
相关推荐
介绍如何通过官方Demo获取更多关于Cocos2d-x的API使用方法;介绍CocoStudio和Cocos Code IDE基础使用方法;通过2到3个游戏实例介绍Cocos2d-x在实际开发中的应用;手机网络游戏开发入门;介绍在实际的手游开发过程中...
cocos2d-x手机游戏开发(跨android/ios/wp7/wp8/windows 8平台) 游戏课程特点: ---------------------------------------------------------- 1、国内首创跨平台游戏开发 2、深度讲解Cocos2D-X并运用于实战 3、...
cocos2d-x 3.X 接收图片 base64 转码显示,最终图片流显示在 Sprite 上
Cocos2d-x 3.2 大富翁游戏项目开发-第七部分 获取角色路径_3
cocos2d-x 3.x lua 热更新列表版本解决方案,使用官方assetsManager 在lua脚本端完成,通过版本列表的方式进行迭代更新。
Cocos2d-x 3.2 大富翁游戏项目开发-第七部分 获取角色路径_1
Firebase Cocos2d-x样本Firebase C ++ SDK的iOS和Android cocos2d-x示例。状态 该样本不再被主动维护,在这里仅供参考。介绍先决条件setup_firebase_sample.py脚本要求将Python安装在本地。 访问以获取更多信息。 ...
ActionTimeline动画的使用,二、修改动画,关键帧事件,创建多个Node对象,异步加载动画Armature,创建动画并显示,设置骨骼动画的速度,批量添加怪物,实现动画的事件...在场景中获取粒子效果等等COCOS2D-X使用教程尽在其中
cocos2d-x 当中访问WebServer服务器 获取数据并且解析返回XML数据的例子。
网络游戏-一种实时获取Cocos2d-x游戏播放声音的方法.zip
射手 ...关东升《 COCOS2D-X实战工具卷》《 COCOS2D-X实战工具卷》 满硕泉《 COCOS2D-X权威指南》 人山: : 红孩儿的游戏编程之路: ://my.csdn.net/honghaier 执照 Archer-cocos2d-x源代码已获得
src/cocos2d组cocos2d-x源将出现在src/cocos2d cocos2d中,因此进行设置以便可以使用cocos命令。有关详细信息,请参见。 使用cocos2命令执行构建。 Mac,Linux和Android的内部版本当前有效。 $ cocos compile -p ...
简单的 读取zip包的代码,可以获取到里面的信息
cocos2d-x-webview 一个轻量级的lib,它在iOS和android上的cocos2dx游戏中嵌入了Webview。 要在游戏中显示WebView,您只需要编写两行代码即可。 特征 继承自CCNode,这意味着您可以设置位置,比例或从CCNode中获取...
ConfigData 单例 通过此类获取各种配置信息 DynamicData 单例 动态数据类 GameManager 单例 游戏管理器 用来驱动游戏和物理引擎 封装事件的分发在此实现 GameObject 游戏对象 /*这个不用解释了吧?...
随机数是我们在程序中经常要用到的,cocos2d-x用CCRANDOM_0_1产生随机数,但我们最后给它传入一个随机数种子,这样产生的随机数才是真正的随机数,而这个种子就是我们一般使用的时间。下面通过代码看看我们如何实现...
本设计可以找到源码,可以为您做设计,请看左侧信息获取,资源免费,希望您给个关注,后续会上传源码,关注后第一时间会通知到您。感谢!
Nextpeer + Cocos2d-X 是在移动设备上与朋友一起玩的最简单方法。 获取SDK,开始挑战世界。 通过我们的 请务必检查我们的 检查分支树以获取Cocos2d-x 3.0支持。
一款可以定制的UIListView模块,可以定制UIListView的项目数,项目内容。