加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 19:57:05 所属栏目:百科 来源:网络整理
导读: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");

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读