2011-08-20 16 views
13

क्या एंड्रॉइड सेवा के साथ वॉल्यूम परिवर्तन सुनने के लिए कोई तरीका है और उस पर प्रतिक्रिया दें?वॉल्यूम परिवर्तन श्रोता?

बीटीडब्ल्यू: Google संगीत ऐप पृष्ठभूमि में संगीत चलाते समय भी मीडिया वॉल्यूम को नियंत्रित करने की अनुमति देता है?

उत्तर

12

चेक बाहर registerMediaButtonEventReceiver(ComponentName broadcastReceiver);

एक BroadcastReceiver कि ACTION_MEDIA_BUTTON हैंडल को परिभाषित करें। प्राप्त intent में एक अतिरिक्त फ़ील्ड, EXTRA_KEY_EVENT शामिल है, जिसमें प्रसारण की वजह से महत्वपूर्ण ईवेंट शामिल है। आप किस कुंजी दबाए जाने के लिए इस महत्वपूर्ण घटना का उपयोग कर सकते हैं।


संपादित करें:
यह सिर्फ एक नमूना कोड है। वाक्यविन्यास त्रुटियां हो सकती हैं।

// in onCreate of activity 
registerMediaButtonEventReceiver(mediaReceiver); 

// later somewhere in activity. 
MediaButton_Receiver mediaReceiver = new MediaButton_Receiver(); 

class MediaButton_Receiver implements BroadcastReceiver { 
    void onReceive(Intent intent) { 

      KeyEvent ke = (KeyEvent)intent.getExtra(Intent.EXTRA_KEY_EVENT); 
      if (ke .getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN) { 

      } 
      // Similarly other key codes ....... 
    } 
} 

onPause() या onStop()

+0

में रिसीवर अपंजीकृत आप कृपया इस बात का एक उदाहरण दे सकते हैं? – kevdliu

+0

मैंने नमूना कोड जोड़ा है। लेकिन इसमें वाक्यविन्यास त्रुटियां हैं। एक्शन कुंजी को नीचे या कुंजी की जांच करनी चाहिए। शुरुआत के लिए यह अच्छा है, इसे बाद में जोड़ें। – Ronnie

+0

मीडिया बटन ईवेंट का उपयोग कर अन्यथा अन्य रिसीवर को अनधिकृत करने के लिए भी मत भूलना प्रभावित हो सकता है। – Ronnie