2016-04-28 7 views
20

एंड्रॉइड ऐप्स को एंड्रॉइड.permission.SYSTEM_ALERT_WINDOW के साथ अन्य ऐप्स पर आकर्षित करने में सक्षम बनाता है और इसे फ़्लोटिंग/ओवरलेइंग ऐप कहा जाता है। उदाहरण के लिए फेसबुक मैसेंजर हमेशा स्क्रीन के किनारों पर चैट बुलबुले दिखाई देता है।Android फ़्लोटिंग/ओवरलेइंग ऐप्स को पहचानें या अवरुद्ध करें

मेरा प्रश्न है: क्या जावा ऐप में किसी भी ऐप को पहचानना या ब्लॉक करना संभव है जो मेरे ऐप पर आकर्षित करता है?

+0

नए संस्करणों पर आप स्क्रीन रिकॉर्डिंग अनुमति के लिए पूछ सकते हैं, और जो भी आप आकर्षित करते हैं उसकी तुलना करें और स्क्रीन पर क्या है –

उत्तर

8

View#onFilterTouchEventForSecurity() विधि है जिसे आप यह पता लगाने के लिए ओवरराइड कर सकते हैं कि गति घटना FLAG_WINDOW_IS_OBSCURED है या नहीं। यह आपके विचार के शीर्ष पर कुछ खींचा जाने पर आपको बताएगा।

@Override 
public boolean onFilterTouchEventForSecurity(MotionEvent event) { 
    if ((event.getFlags() & MotionEvent.FLAG_WINDOW_IS_OBSCURED) == MotionEvent.FLAG_WINDOW_IS_OBSCURED){ 
     // show error message 
     return false; 
    } 
    return super.onFilterTouchEventForSecurity(event); 
} 

तुम सिर्फ नल जैकिंग से अपने अनुप्रयोग की रक्षा करना चाहते हैं अपने अनुप्रयोग से अधिक ड्राइंग को अन्य एप्लिकेशन के की वजह से आप XML के माध्यम से या प्रोग्राम के रूप में अपने विचारों को setFilterTouchesWhenObscured जोड़ सकते हैं।

+0

धन्यवाद, जांच करेगा और आपको बताएगा कि यह काम कर रहा है –

+0

धन्यवाद, यह एक आकर्षण की तरह काम करता है! –

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