I create share function in java use sharingIntent.
About JNI call from c++ is fine It can call java side.
But when I debug, It always return null context.
This is my code.
File: “shareGame.java” in “src” folder
package com.dejo.rollingplanet;
import android.app.Application;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class shareGame extends Application {
public static Context mContext;
@Override
public void onCreate() {
super.onCreate();
mContext = getApplicationContext();
}
public static void shareText() {
Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
sharingIntent.setType("text/plain");
String shareBody = "Come and help this little guy!!";
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Rolling Planet");
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody);
if (mContext == null) return;
mContext.startActivity(Intent.createChooser(sharingIntent, "Share via"));
}
}
File “MenuScene.h”
/*
* Include JNI
*/
#include <jni.h>
#include <platform/android/jni/JniHelper.h>
/*
* myStatic function for JNI
*/
static void shareIt();
File “MenuScene.cpp”
/*
* myStatic function for JNI
*/
void MenuScene::shareIt() {
cocos2d::JniMethodInfo methodInfo;
if (! cocos2d::JniHelper::getStaticMethodInfo(methodInfo, "com/dejo/rollingplanet/shareGame", "shareText", "()V")) {
return;
}
methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID);
methodInfo.env->DeleteLocalRef(methodInfo.classID);
}
Please Help