2011-09-02 17 views
5

मेरे पास मूल सक्रियता का उपयोग कर एक अनुप्रयोग है। मैं कुछ ऐसा करने के लिए जावा में कॉल करना चाहता हूं जिसके लिए एक संदर्भ की आवश्यकता है (उदाहरण के लिए, टेलीफ़ोनी प्रबंधक को आईएमईआई से पूछताछ करने के लिए)।एक मूल सक्रियता से संदर्भ प्राप्त करना

मैं अपनी गतिविधि के लिए एक वैध संदर्भ कैसे प्राप्त करूं?

एनाटिवएक्टिविटी संरचना में मेरे अनुप्रयोग के लिए विभिन्न प्रकार के उपयोगी डेटा शामिल हैं, जैसे कि जावावीएम, और जेएनआई पर्यावरण, आदि। इसमें मेरे मूल एक्टिविटी के क्लास ऑब्जेक्ट पर पॉइंटिंग पॉइंटिंग भी शामिल है। इसमें क्या शामिल नहीं है, मूलभूतता उदाहरण पर इंगित करने वाला एक नौकरी है। मुझे struct android_app में कुछ भी उपयोगी नहीं दिख रहा है।

ऐसा करना संभव होना चाहिए; कोई विचार कैसे?

+0

संभावित डबल प्रश्न। इसे देखें http://stackoverflow.com/questions/4449864/access-android-context-in-ndk- appplication – weakwire

+0

नहीं, यह प्रश्न पुरानी शैली के एनडीके (जहां यह जावा से सख्ती से कॉल आउट था) को संदर्भित करता है, जबकि मैं नई शैली की मूल सक्रियता एनडीके का उपयोग कर रहा हूं (जहां मुख्य ऐप देशी कोड में लिखा गया है और जावा में कॉल किया गया है)। –

उत्तर

4

इसके नाम के बावजूद clazzANativeActivity संरचना का सदस्य वास्तव में android.app.NativeActivity उदाहरण इंगित कर रहा है।
मूल गतिविधि से जावा कोड तक जेएनआई कॉल का उपयोग करने के उदाहरण के लिए this post देखें।

+0

हेडर में दस्तावेज़ कहते हैं कि यह एक वर्ग भी है --- लेकिन हाँ, अब मैं वास्तव में इसका उपयोग करने की कोशिश करता हूं, यह स्पष्ट रूप से कक्षा के बजाय उदाहरण है। धन्यवाद! –

+0

हाँ, यह सच है। डॉक्टर एक भ्रमित व्यक्ति है क्योंकि यह क्लैज फ़ील्ड को 'मूल सक्रियता जावा क्लास' के रूप में वर्णित करता है। एकमात्र कमजोर संकेत 'क्लैज' प्रकार है: 'jclass' के बजाय' jobject'। फिर भी दस्तावेज़ सुधार के लिए एक बग/फीचर-अनुरोध के लायक है। – Idolon

संबंधित मुद्दे