2014-10-20 4 views
8

मैं अपने एंड्रॉइड रिमोट कंट्रोल क्लाइंट क्लास को MediaSession का उपयोग करके एक नए के साथ अपने एप्लिकेशन में बदलना चाहता हूं, लेकिन यह एपीआई लेवल < 21 के साथ काम नहीं कर रहा है, MediaSessionCompat पुराने उपकरणों को क्रैश किए बिना काम करने लगता है, लेकिन लॉकस्क्रीन पर कोई और आर्टवर्क या गीत इंफोस नहीं है प्रदर्शित ...MediaSessionCompat का उपयोग कैसे करें और RemoteControlClient के साथ पिछड़ा संगतता रखें?

मेरे लिए कोई स्निपेट या इंफोस?

धन्यवाद सब!

उत्तर

11

समर्थन-v4 पुस्तकालय में संशोधन 22 के रूप में, source code for MediaSessionCompat से पता चलता है कि यह अब स्वचालित रूप से रजिस्टर और API21 + उपकरणों पर MediaSession पर जाने के पहले 14-20 उपकरणों एपीआई में एक RemoteControlClient का प्रयोग करेंगे।

+5

यह वास्तव में counterintuitive लगता है। MediaSessionCompat का उपयोग करने का क्या कारण है? – tokudu

+6

'Build.VERSION.SDK_INT> = Build.VERSION_CODES.LOLLIPOP' के साथ प्रत्येक कॉल की रक्षा करने के बजाय, यदि आप सीधे 'MediaSessionCompat' का उपयोग कर सकते हैं। MediaSession का समर्थन नहीं करने के विकल्प (उपयोगकर्ताओं के बढ़ते प्रतिशत के लिए एक उपरोक्त अनुभव के लिए अग्रणी) या त्रुटि-प्रवण कोड लिखना (केवल एक ही गायब होने पर आपके कथन को क्रैश करने का कारण होगा) टिकाऊ कोडिंग प्रथाएं नहीं हैं । – ianhanniballake

+0

@ianhanniballake धन्यवाद, कोड प्रगति पर है! – anisite

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