----------------------------------------------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=======================

JNI c++ 调用 java的更多相关文章

  1. C通过JNI反向调用JAVA程序方法

    JNI反向调用JAVA程序 引述:上文讲过java线程---OS线程的关系,然后C怎样反向调用JAVA程序方法是我们这篇讲的重点 1.ThreadTest中添加run()方法 2.编译ThreadTe ...

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

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

  3. jni中调用java方法获取当前apk的签名文件md5值

    相应的java方法: void getsign(Context context) throws Exception { PackageInfo localPackageInfo = context.g ...

  4. cocos2d 中使用jni C++ 调用 Java 方法

    1.简单数据类型样例 如果我们Java中有这么一个open的静态方法,它没有參数,有一个int的返回值.怎么在C++中调用它呢? package cb.CbCCBLE; public class Cb ...

  5. JNI——C调用JAVA

    步骤: 1. 创建虚拟机 2. 获得class 3. 实例化对象:获得构造方法(方法名为“<init>”),构造参数,调用方法 4. 调用方法:又分为获得方法,构造方法,调用方法 操作方法 ...

  6. Android JNI之调用JAVA方法的返回类型签名

    从http://blog.csdn.net/lonelyroamer/article/details/7932787截取的 如何签名: 下面看看Sign签名如何写,来表示要取得的属性或方法的类型. 1 ...

  7. NativeCode中通过JNI反射调用Java层的代码,以获取IMEI为例

    简单说,就是在NativeCode中做一些正常情况下可以在Java code中做的事儿,比如获取IMEI. 这种做法会使得静态分析Java层代码的方法失效. JNIEXPORT jstring JNI ...

  8. C++ 调用 java jni.h 的使用

    JNI c++ 调用 java ----------------------------------------------c++----------------------------------- ...

  9. HAL中通过JNI调用java方法【转】

    转载请注明本文出处:http://www.cnblogs.com/xl19862005 作者:Xandy 由于工作的需要,最近一直在研究HAL.JNI.Java方法之间互调的问题,并做了如下一些记录和 ...

随机推荐

  1. MVC之超链接的寻址

    传统式 href直接跟链接地址URL <a href="@Model.Base.BdtUrl" target="_blank">首页</a&g ...

  2. 如何在Hadoop的MapReduce程序中处理JSON文件

    简介: 最近在写MapReduce程序处理日志时,需要解析JSON配置文件,简化Java程序和处理逻辑.但是Hadoop本身似乎没有内置对JSON文件的解析功能,我们不得不求助于第三方JSON工具包. ...

  3. AngularJS 指令实践

    概述 如果你写过AngularJS的应用,那么你一定已经使用过指令,不管你有没有意识到.你肯定已经用过简单的指令,比如 ng-mode, ng-repeat, ng-show等.这些指令都赋予DOM元 ...

  4. 二模 (1) day1

    第一题: 题目大意:给出N(N<=50)个小于1000的正整数Ai,和一个正整数max,和一个整数cur,从前往后依次对每个Ai,可以让cur+Ai 或者 cur-Ai,但是结果不能大于max, ...

  5. ubuntu 防火墙 添加策略 解决mysql远程访问问题

    ubuntu 的iptables 文件不在 init.d中 不能 service iptables restart 只修改 /etc/iptables 文件也不管用 sudo iptables -L ...

  6. Hibernate 的配置文件

    Hibernate 配置文件 •Hibernate 配置文件主要用于配置数据库连接和 Hibernate 运行时所需的各种属性 •每个 Hibernate 配置文件对应一个 Configuration ...

  7. WP8.1 Study5:Data binding数据绑定

    一.数据绑定 最简单的编程UI控件的方法是写自己的数据来获取和设置控件的属性,e.g. , textBox1.Text = "Hello, world"; 但在复杂的应用程序,这样 ...

  8. 计算文字的高度和宽度--以微博会话界面中用户名(userName)为例

    所用方法 // NOTE: All of the following methods will default to drawing on a baseline, limiting drawing t ...

  9. 关于查询oracle in >1000 的讨论

    https://q.cnblogs.com/q/88538/

  10. LepideMigrator for Documents Step by Step

    blog: http://blog.csdn.net/foxdave A Manager Marketing Operations invite me to review their product, ...