के साथ एक फ़ंक्शन में aroid.content.Context पैरामीटर भेजना मैं एक ऐसी विधि बनाने की कोशिश कर रहा हूं जो इंटरनेट कनेक्शन के लिए जांच करता है जिसे कॉन्टेक्स्ट पैरामीटर की आवश्यकता होती है। जेएनआईहेल्पर मुझे पैरामीटर के साथ स्थिर कार्यों को कॉल करने की अनुमति देता है, लेकिन मुझे नहीं पता कि कोकोस 2 डी-एक्स गतिविधि वर्ग को पैरामीटर के रूप में उपयोग करने के लिए "पुनर्प्राप्त" कैसे करें।जेएनआई
public static boolean isNetworkAvailable(Context context) {
boolean haveConnectedWifi = false;
boolean haveConnectedMobile = false;
ConnectivityManager cm =
(ConnectivityManager) context.getSystemService(
Context.CONNECTIVITY_SERVICE);
NetworkInfo[] netInfo = cm.getAllNetworkInfo();
for (NetworkInfo ni : netInfo) {
if (ni.getTypeName().equalsIgnoreCase("WIFI"))
if (ni.isConnected())
haveConnectedWifi = true;
if (ni.getTypeName().equalsIgnoreCase("MOBILE"))
if (ni.isConnected())
haveConnectedMobile = true;
}
return haveConnectedWifi || haveConnectedMobile;
}
और C++ कोड
JniMethodInfo methodInfo;
if (!JniHelper::getStaticMethodInfo(methodInfo,
"my/app/TestApp", "isNetworkAvailable", "(Landroid/content/Context;)Z")) {
//error
return;
}
CCLog("Method found and loaded!");
methodInfo.env->CallStaticBooleanMethod(methodInfo.classID,
methodInfo.methodID);
methodInfo.env->DeleteLocalRef(methodInfo.classID);
आप मुझे बता सकते तुम क्यों इस संदर्भ की आवश्यकता है:
अपने अनुप्रयोग वर्ग और इसका इस्तेमाल प्राप्त करने के लिए के रूप में, मैं निम्नलिखित कोड (सी ++ भाग में) का उपयोग करेंगे? बस सिस्टम सेवा प्राप्त करने के लिए ????? –
यह समाधान नहीं है, लेकिन isNetworkAvailable के लिए वर्णनकर्ता गलत है। यह होना चाहिए: "(लैंड्रॉइड/सामग्री/संदर्भ;) जेड"। एल और जेड –