----------------------------------------------c++---------------------------------------

#include "JniHelper.h"

JniMethodInfo t;

if (JniHelper::getStaticMethodInfo(t,"org/cocos2dx/lib/Cocos2dxActivity", "openUrl", "(Ljava/lang/String;)V")) {
jstring stringArg = t.env->NewStringUTF(_url.c_str());
t.env->CallStaticVoidMethod(t.classID, t.methodID,stringArg);
t.env->DeleteLocalRef(t.classID);
}

调用openUrl 参数为_url

++++++++++++++++++++++++++java+++++++++++++++++++++++++++++

public static void openUrl(String url) {
Uri uri = Uri.parse(url);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
m_instance.startActivity(intent);
}

++++++++++++++++++++end+++++++++++++++++++++++++++++++++++++++

=================c++=================================

const char* text="";

const char* picture="";

const char* title="";

JniMethodInfo t;

if (JniHelper::getStaticMethodInfo(t,"org/cocos2dx/lib/ShareDialog", "shareText", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V")) {
jstring stringText = t.env->NewStringUTF(text);
jstring stringPicture = t.env->NewStringUTF(filepath.c_str());
jstring stringTitle = t.env->NewStringUTF(title);
t.env->CallStaticVoidMethod(t.classID, t.methodID,stringText,stringPicture,stringTitle);
t.env->DeleteLocalRef(t.classID);
}

===============java=======================================

public static void shareText(String text,String picture,String title) {
File f = new File(picture);
Uri u = Uri.fromFile(f);

String subject = "share";
int shareTitleId = m_instance.getResources().getIdentifier("share_title","string",m_instance.getPackageName());
if(shareTitleId!=0){
subject = m_instance.getString(shareTitleId);
}

Intent intent=new Intent(Intent.ACTION_SEND);

intent.putExtra(Intent.EXTRA_SUBJECT,title);
intent.putExtra(Intent.EXTRA_STREAM, u);
intent.putExtra(Intent.EXTRA_TEXT,text);
intent.setType("image/*");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
m_instance.startActivity(Intent.createChooser(intent,subject));
}

======================end=======================

C++ 调用 java jni.h 的使用的更多相关文章

  1. JNI系列——C文件中的方法调用Java中方法

    1.创建xxx.jni包并在该包下实现一些Java的方法,和要调用的本地方法 2.实现MainActivity中的按钮点击事件-即点击按钮调用本地的方法 3.在C文件中的方法中回调Java的方法 3. ...

  2. Android JNI之C/C++层调用JAVA

    转载请声明:原文转自:http://www.cnblogs.com/xiezie/p/5930032.html 从C/C++层调用JAVA层代码步骤: 1. 在JAVA类中创建java方法和本地方法 ...

  3. Java JNI调用c语言的dll测试

    最近复习C语言和java语言(10年没用了,温习一下),用JNI调用C语言的dll测试,以前没做过,在网上找了很多,总结如下: 环境:windows 10(64位) + JDK(32位,版本1.7.0 ...

  4. cocos2d-x笔记5: 通过jni实现C++调用Java

    Cocos2d-x的跨平台性很强大,但是偶尔也需要平台的原生API结合. C++在Win32平台下简单的很,C++可以直接用MFC或者调用Win32API. Ios在XCode下直接就能C++和OC混 ...

  5. java JNI 的实现(2)-java和C/C++的相互调用.

    目录 概述 一,java代码 二,稍微注意通过javah生成的'C/C++'.h头文件和源java代码的关系 三,在C/C++中实现java的native方法(完整C/C++) 1,修改age,即Ja ...

  6. cocos2d-x中使用JNI的调用JAVA方法

    用cocos2d-x公布Android项目时.都应该知道要用JAVA与C/C++进行交互时会涉及到JNI的操作(Java Native Interface).JNI是JAVA的一个通用接口.旨在本地化 ...

  7. Music Studio项目心得--JNI实现C++调用JAVA

    这个项目是我參加内蒙古挑战杯的比赛项目,因为时间关系,我没时间实现OpenOMR开源项目由JAVA全然向C++的转换,经过我半个多月的尝试,我将OpenOMR中的1/3的代码改写成C++,只是非常快我 ...

  8. 实现apk 调用framework java JNI中方法

    首先整个实现需要有Android源码编译环境.这里我用的是froyo2.2. 1.JNI层--C++代码部分 在目录frameworks/base/core/jni 下创建android_jnidem ...

  9. Android JNI入门第六篇——C调用Java

    本篇将介绍在JNI编程中C调用Java实现. 源码下载地址:http://download.csdn.net/detail/xyz_lmn/4868265 关键代码: java: public cla ...

随机推荐

  1. Java动态代理的两种实现方式:

    方式一:传统的代理 package cn.hc.domain; import java.lang.reflect.InvocationHandler; import java.lang.reflect ...

  2. Consul Template的简单使用

    Consul Template的使用 1安装 地址 https://github.com/hashicorp/consul-template/releases wget https://release ...

  3. iOS - C 应用

    前言 1)操作符两端必须加空格,(每行第一个赋值语句对齐). 2)变量名必须是英文(不能是拼音):英文.数字.下划线和美元符号. 3)等于号 == 反过来写(0 == i%4)防止少些赋值号的错误. ...

  4. javacsript Numnber 对象

    引子: initUppercent = (uploadedSize / file.size * 100).toFixed(2) + '%'; 一.javaScript Number对象 ------- ...

  5. jquery截图插件的使用

    首先感谢http://www.htmleaf.com/Demo/201504211717.html这款插件. 使用之初,对于插件的结构很是糊涂,首先文件的核心是cropper.js,其次才是mian. ...

  6. 学习mongo系列(十一)关系

    准备工作:首先在maxh数据库的address集合中先插入数据 > db.address.insert({child_address:"gansu"}) WriteResul ...

  7. C++基础知识之vector

    vector容器类型:vector容器是一个模板类,可以存放任何类型的对象(但必须是同一类对象).vector对象可以在运行时高效地添加元素,并且vector中元素是连续存储的.vector的构造 函 ...

  8. Linux 系统目录结构

    登录系统后,在当前命令窗口下输入命令: ls / 你会看到如下图所示: 树状目录结构: 以下是对这些目录的解释: /bin: bin是Binary的缩写, 这个目录存放着最经常使用的命令. /boot ...

  9. JavaWeb基础: ServletConfig

    基本概念 ServletConfig用于配置Servlet的参数:在Servlet的配置文件中,可以使用一个或者是多个<init-param> 标签为Servlet配置一些初始化参数.当有 ...

  10. Java Java Java

    学下java 的大数该怎么用>< hdu 1023 Train Problem II 求 卡特兰 数 诶...不记得卡特兰数的我眼泪掉下来 第一次用 java 大数 有点激动...> ...