zoukankan      html  css  js  c++  java
  • C++ 调用 java jni.h 的使用

    ----------------------------------------------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 语言常用算法详解-排序-队列-堆栈-链表-递归-树 (面试有用)
    iOS多线程各种安全锁介绍
    将openfire部署到CentOS云服务器上
    触摸事件MultiTouch Events
    Usaco 2006Nov Round Numbers
    Codeforces 850C Arpa and a game with Mojtaba
    HDU4466 Triangle
    Codeforces Gym 101521A Shuttle Bus
    Codeforces 817F MEX Queries
    Codeforces 482B Interesting Array
  • 原文地址:https://www.cnblogs.com/lh92lxm/p/3443326.html
Copyright © 2011-2022 走看看