>  기사  >  데이터 베이스  >  cocos2dx代码调用本地浏览器步骤详解

cocos2dx代码调用本地浏览器步骤详解

WBOY
WBOY원래의
2016-06-07 15:24:311400검색

1.找到ndk路径/sources/cocos2dx/platform/android/CCApplication.h添加方法 void openURL(const char* pszUrl); 2找到ndk路径/sources/cocos2dx/platform/android/CCApplication.cpp 实现方法 void CCApplication::openURL(const char* pszUrl) { JniMethod

1.找到ndk路径/sources/cocos2dx/platform/android/CCApplication.h添加方法

void openURL(const char* pszUrl);

2找到ndk路径/sources/cocos2dx/platform/android/CCApplication.cpp实现方法

void CCApplication::openURL(const char* pszUrl)
{
JniMethodInfo minfo;
if (JniHelper::getStaticMethodInfo(minfo,
"org/cocos2dx/lib/Cocos2dxActivity",  //src路径下的文件
"openURL", //Cocos2dxActivity文件的方法(下面会添加)
"(Ljava/lang/String;)V"))                      //openURL()方法的参数类型Object,返回值类型void
{
jstring StringArg1 = minfo.env->NewStringUTF(pszUrl);
minfo.env->CallStaticVoidMethod(minfo.classID, minfo.methodID, StringArg1);
minfo.env->DeleteLocalRef(StringArg1);
minfo.env->DeleteLocalRef(minfo.classID);
}
}

3.找到Cocos2dxActivity.java 导入命名空间

import android.content.Intent;
import android.net.Uri;

4.Cocos2dxActivity.java中添加 

private static Activity wu= null;

修改onCreate()为

protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sContext = this;
    this.mHandler = new Cocos2dxHandler(this);
    wu = this;
    this.init();
Cocos2dxHelper.init(this, this);
}

添加方法

  //实现浏览器模块的调用
   public static void openURL(String url) 
     { 
           Intent intent = new Intent(Intent.ACTION_VIEW);  
           intent .setData(Uri.parse(url));
           wu.startActivity(i);
     }

在想调用的地方实现调用

CCApplication::sharedApplication()->openURL("http://www.mcttqp.com/Download/djmxd.apk");

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.