मैं एक ऐप पर काम कर रहा हूं और मैं इसमें Last.fm ऐप को एकीकृत करना चाहता हूं। असल में, जब कोई मेरे ऐप में किसी कलाकार को देख रहा है, तो मैं एक बटन चाहता हूं कि वे कलाकार की जानकारी के साथ Last.fm एप्लिकेशन खोलने के लिए टैप कर सकें।एंड्रॉइड: एक अलग थर्ड पार्टी ऐप के लिए एक गतिविधि शुरू करना
इस आशय काम करता है, लेकिन यह (ब्राउज़र या Last.fm) एक मेनू पूछने जो एप्लिकेशन मैं उपयोग करना चाहते हैं लोड करता है:
Intent i = new Intent();
i.setData(Uri.parse("http://last.fm/music/" + headliner));
i.setAction("android.intent.action.VIEW");
startActivity(i);
हालांकि, मैं सिर्फ Last.fm एप्लिकेशन शुरू करने और छोड़ना चाहते उक्त कथन जो एप्लिकेशन का उपयोग करने, मैं शायद का उपयोग कर सोचा setPackage() विधि इस तरह काम करेगा:
i.setPackage("fm.last.android");
लेकिन यह दुर्घटना करने के लिए एप्लिकेशन का कारण बनता है:
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=http://last.fm/music/Rihanna pkg=fm.last.android }
क्या यह केवल Last.fm ऐप शुरू करना संभव है? संदर्भ के लिए Here's Last.fm के AndroidManifest.xml की एक प्रति।
पढ़ने के लिए धन्यवाद, टोनी
यह एक हैक है और अनुप्रयोगों कॉल करने के लिए उचित तरीके से विचार नहीं किया। यह सुनिश्चित करने का एक निश्चित तरीका है कि सभी प्रकार की त्रुटियां – Falmarri
दिखाएंगी, क्या आप समझा सकते हैं कि यह एक हैक क्यों है? आप एप लॉन्चर द्वारा ऐप के नियमित इरादे का भी उपयोग कर रहे हैं, यानी जब आप होम स्क्रीन पर ऐप आइकन पर क्लिक करते हैं? वैसे भी, तो उचित तरीका क्या है जिसके बाद आप सुझाव देंगे? –
शायद मैं गलत समझा। यदि आप उस गतिविधि को कॉल कर रहे हैं जिसे लॉन्चर कॉल करता है, तो मुझे लगता है कि यह ठीक होना चाहिए। मैं प्रश्न को एक अलग पैकेज की आंतरिक गतिविधि को कॉल करने के रूप में समझ गया। यह तोड़ने के लिए प्रवण है क्योंकि उस गतिविधि को इरादे के अतिरिक्त की आवश्यकता हो सकती है जो किसी दुर्घटना का कारण बन सकती है, या ऐसा कुछ। कोड को देखे बिना, यह बताना संभव नहीं है कि यह 100% सुरक्षित है – Falmarri