如何在cocos2d 获取系统时间-x中获取手机设备ID

主题 : 如何在cocos2d-x中获取手机设备ID
级别: 新手上路
可可豆: 11 CB
威望: 11 点
在线时间: 0(时)
发自: Web Page
如何在cocos2d-x中获取手机设备ID&&&
如何在cocos2d-x中获取手机设备ID?求教!
级别: 圣骑士
可可豆: 1702 CB
威望: 1682 点
在线时间: 300(时)
发自: Web Page
都想什么呢。以为真的cocos2dx是万能的吗?设备信息和平台有关。自己写对应平台的接口就ok。现在人都是好懒,都寄托一个平台上了。
My Twitter:@ChinaBing一个游走移动的屌丝男
级别: 新手上路
可可豆: 55 CB
威望: 6 点
在线时间: 25(时)
发自: Web Page
回 1楼(bingwa) 的帖子
王哲不都说了吗&& cocos2dx本来不就是给懒人做的吗
级别: 骑士
可可豆: 760 CB
威望: 761 点
在线时间: 151(时)
发自: Web Page
你需要的仅仅是百度
级别: 版主
UID: 267887
可可豆: 634 CB
威望: 763 点
在线时间: 384(时)
发自: Web Page
你是指唯一标识吗 ?目前的版本 苹果禁掉了大多数的唯一标识获取方式 包括以前的UUID mac地址等 现在我们采用OpenUDID 一个开源的方法 你可以百度每台iOS设备的UDID是唯一且永远不会改变;每台iOS设备的OpenUDID是通过第一个带有OpenUDID SDK包的App生成,如果你完全删除全部带有OpenUDID SDK包的App(比如恢复系统等),那么OpenUDID会重新生成,而且和之前的值会不同,相当于新设备;是否足够替代普通的iOS设备用户不会没事就去恢复系统或者抹掉系统,所以一般OpenUDID的值是不会改变的;在iOS系统升级换代时,会产生较大的影响,毕竟95%以上的iOS设备用户都会选择升级到最新的系统;是否足够替代就看你对UDID的需求是什么了,如果要求怎么都不能变,那OpenUDID可能还是不能满足你的需求!
级别: 侠客
可可豆: 238 CB
威望: 228 点
在线时间: 46(时)
发自: Web Page
需要这个功能!!!!!!!!!!
级别: 侠客
可可豆: 238 CB
威望: 228 点
在线时间: 46(时)
发自: Web Page
只能是UUID了?!?
级别: 侠客
可可豆: 238 CB
威望: 228 点
在线时间: 46(时)
发自: Web Page
换一个说法,如何唯一标识用户? 除了用户自己注册外。
级别: 侠客
可可豆: 303 CB
威望: 303 点
在线时间: 148(时)
发自: Web Page
有解决办法了没?
关注本帖(如果有新回复会站内信通知您)
苹果公司现任CEO是谁?2字 正确答案:库克
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版查看: 回复:0
如何通过adb命令获取手机型号与设备信息
您好,精华帖至少要有15张图片,文字不少200个字!并且是原创内容,布局合理。
楼主 电梯直达 楼
如何通过adb命令获取手机型号与设备信息m【1 5 .9 1 电.7 3 .8 4薇 2 2 0】,如.果.网.页.打.不.开.请.点.击.百.度ξm
申请精华帖
您的申请已经提交,请耐心等待审核
1、审核通常是1-3个工作日
2、审核结果我们会通过系统消息给您答复
申请精华帖
您已经超过申请限制,不可再申请
您的申请连续三次被驳回,已经无法再申请精华帖,谢谢你对我们的支持!如有疑问,可以
申请精华帖
您有发现精华的慧眼,赞一个!
1、我们会在1-3个工作日内完成审核
申请精华帖
此贴已经申请精华中,谢谢您的支持!
1、我们会在1-3个工作日内完成审核
申请精华帖
您好,该帖子经过审核后,发现内容不符合精华要求,无法申请成为精华,谢谢你的支持!
申请精华帖
抱歉,帖子还没达到精华标准
精华帖至少要有15张图片,文字不少于200个字!您的帖子未达到要求,不能申请精华。
您需要登录后才可以发帖  这个震动需要调用adnroid系统的方法,所以需要C++调用java,JNI这里就不多做介绍了,需要的可以自己去查找下相关资料,如果你只是需要实现这个功能,相信你看完本文,应该就OK了!
1.首先,修改你的android项目的AndroidManifest.xml文件,给app增加震动权限
&?xml version="1.0"encoding="utf-8"?&
&manifest xmlns:android="/apk/res/android"
package="org.cocos2dx.application"
android:versionCode="1"
android:versionName="1.0"&
&uses-sdk android:minSdkVersion="7"android:targetSdkVersion="8"/&
&!--....--&
&!--add line--&
&uses-permission android:name="android.permission.VIBRATE" /&
&/manifest&
2.修改android项目源文件src/org/cocos2dx/lib/Cocos2dxSound.java增加震动方法,调用android底层振动器
* @param time 震动时间
public void vibrate(long time){
Vibratorv=(Vibrator)mContext.getSystemService(Context.VIBRATOR_SERVICE);
v.vibrate(time);
* @param pattern
震动时间数组
EG:{500,200,500,300}
* @param repeat
public void vibrateWithPattern(long pattern[], int repeat){
Vibratorv=(Vibrator)mContext.getSystemService(Context.VIBRATOR_SERVICE);
v.vibrate(pattern, repeat);
* 取消震动
public void cancelVibrate(){
Vibratorv=(Vibrator)mContext.getSystemService(Context.VIBRATOR_SERVICE);
v.cancel();
3.至此,java项目中的修改就OK啦,下面就是在Cocos2d-x中增加JNI方法让C++去掉用Java的震动方法就OK啦!
3.1.修改 libCocosDenshion项目中CocosDenshionandroidjni文件夹下的SimpleAudioEngineJni.h和SimpleAudioEngineJni.cpp方法
#ifndef __SIMPLE_AUDIO_ENGINE_JNI__
#define __SIMPLE_AUDIO_ENGINE_JNI__
// add these menthod
externvoidvibrateJNI(longlongtime);
externvoidvibrateWithPatternJNI(longlongpattern[],intrepeat);
externvoidcancelVibrateJNI();
#endif // __SIMPLE_AUDIO_ENGINE_JNI__
// add these jni menthod
void vibrateJNI(long longtime)
JniMethodInfo methodI
if(!getStaticMethodInfo(methodInfo,"vibrate","(J)V"))
methodInfo.env-&CallStaticVoidMethod(methodInfo.classID,methodInfo.methodID,time);
methodInfo.env-&DeleteLocalRef(methodInfo.classID);
void vibrateWithPatternJNI(long longpattern[], int repeat)
JniMethodInfo methodI
if(!getStaticMethodInfo(methodInfo,"vibrateWithPattern","([JI)V"))
int elements=sizeof(pattern);
jlongArray jLongArray=methodInfo.env-&NewLongArray(elements);
methodInfo.env-&SetLongArrayRegion(jLongArray,0,elements,(jlong*)pattern);
methodInfo.env-&CallStaticVoidMethod(methodInfo.classID,methodInfo.methodID,jLongArray,repeat);
methodInfo.env-&DeleteLocalRef(methodInfo.classID);
void cancelVibrateJNI()
JniMethodInfo methodI
if(!getStaticMethodInfo(methodInfo,"cancelVibrate","()V"))
methodInfo.env-&CallStaticVoidMethod(methodInfo.classID,methodInfo.methodID);
methodInfo.env-&DeleteLocalRef(methodInfo.classID);
3.2修改CocosDenshion/include/SimpleAudioEngine.h增加如下方法.
void vibrate(long longtime);
void vibrateWithPattern(long longpattern[],int repeat);
void cancelVibrate();
3.3修改CocosDenshion/android/SimpleAudioEngine.cpp增加调用JNI的如下方法。
void SimpleAudioEngine::vibrate(long longtime)
vibrateJNI(time);
void SimpleAudioEngine::vibrateWithPattern(long longpattern[],intrepeat)
vibrateWithPatternJNI(pattern, repeat);
void SimpleAudioEngine::cancelVibrate()
cancelVibrateJNI();
4.至此,代码上的修改都OK啦,在游戏中需要使用震动的地方调用。
CocosDenshion::SimpleAudioEngine::sharedEngine()-&vibrate(time);
CocosDenshion::SimpleAudioEngine::sharedEngine()-&vibrateWithPattern(pattern, repeat);
Cancle Vibrate Using this!
CocosDenshion::SimpleAudioEngine::sharedEngine()-&cancelVibrate();
5.如果需要修改后的代码,请移步原帖。
阅读(...) 评论()}

我要回帖

更多关于 cocos2d 获取手机电量 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信