cocos2d-x Android打開網頁

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");

原文:http://www.cocos2d-x.org/boards/6/topics/11290


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章