2012-04-23 14 views
6

मैं स्पर्श घटना अनुकरण करना चाहता हूं। मैं इस कोडखिड़की के प्रबंधक के माध्यम से गति घटना इंजेक्षन?

MotionEvent.PointerCoords[] coords = { new MotionEvent.PointerCoords() }; 
coords[0].x = 200; 
coords[0].y = 200; 
int[] ptrs = { 0 }; 
MotionEvent event =MotionEvent.obtain(SystemClock.uptimeMillis(),SystemClock.uptimeMillis(), action, 1, ptrs, coords, 0, 1, 1, 0, 0, InputDevice.SOURCE_TOUCHPAD, 0); 
windowManager.injectPointerEvent(event, false); 

समस्या है उपयोग कर रहा हूँ इस लाइन

windowManager.injectPointerEvent(event, false); 

कि मैं WindowManger तक पहुँच प्राप्त करने में असमर्थ हूँ के साथ। जब मैं इस

WindowManager windowmanager=(WindowManager) Context.getSystemService(Context.WINDOW_SERVICE); 

का उपयोग करने का प्रयास करता हूं तो मुझे एक त्रुटि संदेश प्राप्त हुआ। "टाइप कॉन्टेक्स्ट से गैर-स्थैतिक विधि getSystemService (स्ट्रिंग) के लिए स्थिर संदर्भ नहीं बना सकता"

क्या कोई मेरी मदद कर सकता है !!

+0

असल में आप केवल अपने ऐप के लिए या रूट डिवाइस पर ही यह लक्ष्य पूरा कर सकते हैं –

उत्तर

0

यह त्रुटि: I received an error message . "Cannot make a static reference to the non-static method getSystemService(String) from the type Context" आपकी समस्या है।

आपको संदर्भ का संदर्भ प्राप्त करने की आवश्यकता है। या तो आवेदन संदर्भ या गतिविधि।

आपके पास एक संदर्भ उदाहरण होने के बाद, आप .getSystemService विधि पर कॉल कर सकते हैं।

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