2011-12-02 12 views
6

मुझे निष्क्रिय सुनने के लिए उपयोगकर्ता को एप्लिकेशन का उपयोग करने या निष्क्रिय होने पर निष्क्रिय होने के लिए निष्क्रिय श्रोता का उपयोग करने की आवश्यकता है। मुझे कुछ ऐसा करने की ज़रूरत है जब उपयोगकर्ता दस सेकंड से अधिक एप्लिकेशन का उपयोग नहीं कर रहा हो। मैं इसे कैसे संभव बना सकता हूं?मेरे पास स्क्रीन निष्क्रिय श्रोता कैसे हो सकता है?

उत्तर

7

यहाँ विचार है कि कैसे आप इस कार्य को प्राप्त कर सकते हैं:

सबसे पहले आप एक Runnable() है, जो चलाने के लिए किया जाएगा, जब आपके टाइमआउट (। उदाहरण के लिए: 10 सेकंड) होता है की जरूरत है। नीचे Runnable() है:

private Runnable DoOnTimeOut = new Runnable() 
{ 
    public void run() 
    { 
     // Do something Here 
    } 
} 

अब, अपनी गतिविधि में, आप postDelayed DoOnTimeOut के लिए कॉल कर सकते हैं: अब

Handler hl_timeout = new Handler(); 

@Override 
public void onCreate(Bundle b) 
{ 
    hl_timeout.postDelayed(DoOnTimeOut, 10000); // The DoOnTimOut will be triggered after 10sec 
} 

, सबसे महत्वपूर्ण बात यह है कि जब आप उपयोगकर्ता बातचीत देखते हैं, आप चाहते हैं है DoOnTimeOut को कॉल रद्द करने के लिए और फिर अगले 10 सेकंड के लिए कॉल सेट करें। उपयोगकर्ता इंटरैक्शन के लिए आपकी गतिविधि की ओवरराइड विधि यहां दी गई है:

@Override 
public void onUserInteraction() 
{ 
    super.onUserInteraction(); 
    //Remove any previous callback 
    hl_timeout.removeCallbacks(DoOnTimeOut); 
    hl_timeout.postDelayed(DoOnTimeOut, 10000); 
} 

मुझे आशा है कि यह आपके लिए सहायक होगा।

+0

महान उत्तर, आपने मेरा दिन बचाया! धन्यवाद – Ale

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

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