Considering the following code:
import android.app.Activity;
class NativeClassProxy {
private long peer;
private Activity mActivity;
public void initialize(Activity activity) {
mActivity = activity;
}
}
struct Activity { static constexpr auto Name() { return "android/app/Activity"; } };
struct NativeClassProxy { static constexpr auto Name() { return "NativeClassProxy"; } };
NativeClass::NativeClass() {
auto env = cocos2d::JniHelper::getEnv();
auto cls = jni::Class<NativeClassProxy>::Find(*env);
auto constructor = cls.GetConstructor(*env);
auto object = cls.New(*env, constructor);
auto initialize = cls.GetMethod<void (jni::Object<Activity>)>(*env, "initialize");
jobject activity = cocos2d::JniHelper::getActivity();
object.Call(*env, initialize, activity);
}
Of course, I can't send the activity directly since it expects a jni::Object<Activity>. But how do I convert it into what it expects?
Considering the following code:
Of course, I can't send the
activitydirectly since it expects ajni::Object<Activity>. But how do I convert it into what it expects?