मेरे ऐप में मेरे पास एक मेनू आइटम है जिसे मैं उपयोगकर्ता के पसंदीदा मीडिया प्लेयर को खोलना चाहता हूं, केवल ऑडियो में रूचि रखता हूं। आदर्श रूप से पहली बार जब उपयोगकर्ता इस आइटम को चुनता है तो वह फोन पर एकमात्र मीडिया प्लेयर चुनता है यदि उनके पास केवल एक स्थापित है, या यदि उन्हें एक से अधिक हैं तो उन्हें एक सूची के साथ प्रस्तुत करें। तब मैं अपनी पसंद को तोड़ दूंगा ताकि अगली बार वह इसे खोल सके।स्थापित मीडिया प्लेयर की सूची कैसे प्राप्त करें
जैसा कि मैं इसे समझता हूं, एंड्रॉइड के पास कोई डिफ़ॉल्ट मीडिया प्लेयर नहीं है। मेरे पास मूल Droid है और इसमें मीडिया प्लेयर है, लेकिन मैं समझता हूं कि अन्य वाहक स्वयं का उपयोग करते हैं, या उपयोगकर्ता मानक को अनइंस्टॉल कर सकता है।
मैंने कुछ चीजों की कोशिश की है लेकिन काम करने के लिए कुछ भी नहीं मिल सकता है।
मैंने इस कोड को आजमाया, जिसे इरादे का समर्थन करने वाले पैकेजों की एक सूची प्राप्त करने के लिए माना जाता है। यह कुछ चीजों के लिए काम करता है जैसे "एप्लिकेशन/पीडीएफ" और "वीडियो/*"। जब मैं इसे "ऑडियो/*" के साथ आज़माता हूं तो मुझे एक खाली सूची मिलती है, भले ही मेरे पास स्टॉक एंड्रॉइड मीडिया प्लेयर और मिक्सजिंग दोनों स्थापित हों। "मीडिया/*" के साथ भी कोशिश की है और कुछ भी नहीं मिला है।
PackageManager packageManager = getPackageManager();
Intent testIntent = new Intent(Intent.ACTION_VIEW);
testIntent.setType("audio/*");
List list = packageManager.queryIntentActivities(testIntent, 0);
मैं इस कोड है जो काम करता है और डिफ़ॉल्ट प्लेयर के साथ एक ऑडियो फ़ाइल को खोलता है देखा है, लेकिन मैं एक फ़ाइल खोलने के लिए नहीं करना चाहते हैं, मैं सिर्फ ऑडियो एप्लिकेशन को खोलने के लिए उपयोगकर्ता के रूप में अगर इसे खोला चाहते आवेदन दराज से।
Intent i = new Intent(Intent.ACTION_VIEW);
Uri u = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI,"1");
i.setData(u);
startActivity(i);
केवल दूसरी बात मैं ऐसा करने में सोच सकते हैं बाहर जाकर में सबसे लोकप्रिय मीडिया प्लेयर और हार्ड कोड उनमें से पैकेज के नाम मिलता है और फोन खोज को देखने के लिए कि कौन सा स्थापित कर रहे हैं, लेकिन इस करता ' टी सबसे अच्छा दृष्टिकोण की तरह लग रहा है। मुझे समझ में नहीं आता कि कोड का पहला बिट क्यों काम नहीं करता है। हो सकता है कि इरादे फ़िल्टर उन ऐप्स के लिए उचित रूप से सेट न हों या मैं गलत कोड या माइम प्रकार का उपयोग कर रहा हूं।
कोड के दूसरे बिट वास्तव में मैं गतिविधि लॉन्च होने पर क्या चाहते हैं नहीं करता है। यह मुझे अपने फोन पर ऐप की एक सूची के साथ प्रस्तुत करता है जो इरादे को संभाल सकता है। मुझे बस उस सूची को उत्पन्न करने का कोई तरीका नहीं मिल रहा है, इसलिए मैं चीजों में हेरफेर कर सकता हूं। मैं गतिविधि शुरू नहीं करना चाहता हूं, बस उस सूची को उत्पन्न करने के लिए ओएस का उपयोग करने वाले किसी भी डेटा को प्राप्त करें। – Bob
ठीक है मुझे लगता है कि मेरे पास यह काम है। जब मैं इसे प्राप्त करता हूं तो मैं समाधान पोस्ट करूंगा। – Bob
यह आपके लिए भी काम कर सकता है: http://stackoverflow.com/questions/18161237/list-installed-media-players-android/21658150#21658150 – yado