1. 修改“cocos2dx\platform\win32”下的CCApplication.h和CCApplication.cpp,添加
1
2
|
// CCApplication.h
void
openURL(
const
char
* pszUrl);
|
1
2
3
4
5
|
// CCApplication.cpp
void
CCApplication::openURL(
const
char
* pszUrl)
{
ShellExecuteA(NULL,
"open"
, pszUrl, NULL, NULL, SW_SHOWNORMAL);
}
|
2. 修改“cocos2dx\platform\android”下的CCApplication.h和CCApplication.cpp,添加
1
2
|
//CCApplication.h
void
openURL(
const
char
* pszUrl);
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
//CCApplication.cpp
void
CCApplication::openURL(
const
char
* pszUrl)
{
JniMethodInfo minfo;
if
(JniHelper::getStaticMethodInfo(minfo,
"org/cocos2dx/application/ApplicationDemo"
,
"openURL"
,
"(Ljava/lang/String;)V"
))
{
jstring StringArg1 = minfo.env->NewStringUTF(pszUrl);
minfo.env->CallStaticVoidMethod(minfo.classID, minfo.methodID, StringArg1);
minfo.env->DeleteLocalRef(StringArg1);
minfo.env->DeleteLocalRef(minfo.classID);
}
}
|
3.修改“cocos2dx\platform\android\java\src\org\cocos2dx\lib”下的Cocos2dxActivity.java,添加如下语句:
1
|
private
static
Activity me =
null
;
|
1
2
3
4
5
|
protected
void
onCreate(
final
Bundle savedInstanceState) {
...
me =
this
;
...
}
|
1
2
3
4
5
6
|
public
static
void
openURL(String url)
{
Intent i =
new
Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
me.startActivity(i);
}
|
4.修改“\cocos2dx\platform\ios\”下的CCApplication.h和CCApplication.mm,添加如下语句:
1
2
|
// CCApplication.h
void
openURL(
const
char
* pszUrl);
|
1
2
3
4
5
|
// CCApplication.mm
void
CCApplication::openURL(
const
char
* pszUrl)
{
[[UIApplication sharedApplication] openURL:pszUrl];
}
|
5.调用:
在你的代码 ,只要调用如下语句就可以用内置浏览器打开url了。
1
2
|
// 在你的代码中添加
CCApplication::shareApplication()->openURL(
"http://hi.baidu.com/jobenc"
);
|