Cocos2d-x3.3RC0通过JNI调用Android的Java层URI代码发送短信
来源:互联网 发布:30岁后的美工 编辑:程序博客网 时间:2024/04/30 17:10
1、Jni不在赘述,翻看前面博客
2、直接上代码
1)Java层,直接加在AppActivity.java中
public class AppActivity extends Cocos2dxActivity{public static Activity acty;protected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);acty = this;}static {System.loadLibrary("cocos2dcpp");}public static void Share(){new Thread(new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stubUri uri = Uri.parse("smsto:18928475901");Intent it = new Intent(Intent.ACTION_SENDTO,uri);it.putExtra("sms_body", "短信内容");System.out.println("test");it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//acty.startActivity(Intent.createChooser(intent, "分享"));acty.startActivity(it);}}).start();}}
2)Jni层:Jni/hellocpp/test类的.h和.cpp代码如下
test.h
#ifndef TEST_H_#define TEST_H_extern "C"{//C++调Java的函数接口,该方法在HelloWorldScene中menuCallback函数中使用。//void showTipDialog(const char* title,const char* msg);void Share();}#endiftest.cpp 注意,这两段代码是在之前代码上修改的,部分代码与此功能无关。请自行删除。
#include "test.h"#include "cocos2d.h"#include "platform/android/jni/JniHelper.h"#include "../../../Classes/JniTest.h"#include <jni.h>#define CLASS_NAME "org/cocos2dx/cpp/JniTestHelper"#define CLASS_NAMENEW "org/cocos2dx/cpp/AppActivity"using namespace cocos2d;extern "C"{void Share(){bool hasMethod;JniMethodInfo t;hasMethod = JniHelper::getStaticMethodInfo(t,CLASS_NAMENEW,"Share","()V");if(hasMethod){log("Share function");if(t.methodID){t.env->CallStaticVoidMethod(t.classID,t.methodID);log("function share() was called");}else{log("function share was not called");}}else{log("function share was not found");}}}
3)C++层
void HelloWorld::menuCloseCallback(Ref* pSender){#if(CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)// showTipDialog("exit","Exit,Really Go?"); Share();//调用tes.cpp中的Share()函数,该函数调用Java中的Share()函数#endif #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) exit(0);#endif}
4)注意
在mk文件加上test.cpp文件路径。
在头文件处加上平台判断,代码如下:
#if(CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)#include "../proj.android/jni/hellocpp/test.h"#endif
0 0
- Cocos2d-x3.3RC0通过JNI调用Android的Java层URI代码发送短信
- Cocos2d-x3.3RC0通过JNI调用Android的Java层代码,实现分享功能
- Cocos2d-x3.3RC0通过JNI实现Java与C++互调
- Cocos2d-x3.3RC0通过JNI实现Java与C++互调
- Cocos2d-x学习之通过Jni调用Android的Java层代码
- Cocos2d-x3.3RC0加载Android的WebView
- VS2010 通过Jni调用Android的Java层代码(cocos2dx里访问调用Android函数)!
- Cocos2d-x游戏开发之Cocos2dx通过JNI调用Android的Java代码(webView实例)
- Cocos2d-x3.3RC0的Android编译Activity启动流程分析
- Cocos2d-x3.3RC0的Android编译Activity启动流程分析
- Cocos2d-x3.3RC0的多线程与异步加载
- NativeActivity通过jni调用java层的Android API
- NativeActivity通过jni调用java层的Android API
- 利用预编译并通过Jni调用Android的Java层代码(cocos2dx里访问调用Android函数)!
- Cocos2d-x3.3RC0之LightTest分析
- 【iOS-cocos2d-X 游戏开发之十三】详细讲解在Xcode中利用预编译并通过Jni调用Android的Java层代码(cocos2dx里访问调用Android函数)!
- 【iOS-cocos2d-X 游戏开发之十三】详细讲解在Xcode中利用预编译并通过Jni调用Android的Java层代码(cocos2dx里访问调用Android函数)!
- Cocos2d-x利用jni调用java层代码
- 20到30岁,该拿这十年做什么
- HDOJ 1711 Number Sequence ——KMP
- 解方程
- html的命名
- hdu3689(kmp+dp)
- Cocos2d-x3.3RC0通过JNI调用Android的Java层URI代码发送短信
- loop
- 十月
- 如何活让自己活得充实:其实很简单,把脑子里想的东西,变成行动,就能立刻充实起
- hdu 5093 二分匹配
- 给GridView控件的某行某列赋值或改变其值的方法
- 国外程序员整理的 C++ 资源大全
- X86 CPU段式与页式存管分析
- eclipse Java调试笔记