8

के लिए एक SEND (साझाकरण) इरादा फ़िल्टर निर्दिष्ट करना मैं Service एस में से किसी एक में android.intent.action.SEND कार्यों के साथ इरादे को फ़िल्टर और संभाल करने की कोशिश कर रहा हूं। मैं अपने AndroidManifest.xml में निम्नलिखित लिखा है:सेवा

<service 
    android:name=".app.ScreamerService" 
    android:label="@string/app_name" > 
    <intent-filter> 
     <action android:name="android.intent.action.SEND"/> 
     <category android:name="android.intent.category.DEFAULT"/> 
     <data android:mimeType="*/*"/> 
    </intent-filter>                  
</service> 

अब, समस्या यह है कि मैं की सूची में अपने आवेदन विकल्प "शेयर के माध्यम से" नहीं दिख रहा है जब, उदाहरण के लिए, से एक वेब पेज साझा करने के लिए कोशिश कर रहा है ब्राउज़र या संपर्कों की सूची से संपर्क। यदि, हालांकि, मैं इरादे फ़िल्टर को मुख्य <activity> टैग (<service> के बजाय) पर ले जाता हूं, तो मेरा एप्लिकेशन नाम और आइकन "शेयर के माध्यम से" विकल्पों की सूची में दिखाई देता है।

मैं यहाँ क्या गलत कर रहा हूं? SEND कार्रवाई को किसी सेवा के लिए निर्देशित नहीं किया जा सकता है?

उत्तर

9

मैं अपनी सेवाओं में से एक में android.intent.action.SEND क्रियाओं के साथ इरादे को फ़िल्टर और संभाल करने की कोशिश कर रहा हूं।

ACTION_SEND एक गतिविधि कार्रवाई है और इसलिए सेवाओं या प्रसारण रिसीवर द्वारा नहीं उठाया जा सकता है।

अब, समस्या यह है कि मैं की सूची में अपने आवेदन विकल्प "शेयर के माध्यम से" नहीं दिख रहा है जब, है यही कारण है कि, उदाहरण के लिए

क्योंकि यह एक गतिविधि नहीं है।

कोई सेवा कार्रवाई को निर्देशित नहीं किया जा सकता है?

एक चयनकर्ता में दिखाई देने वाली चीजें (उदा।, ACTION_SEND के लिए) गतिविधियां होनी चाहिए। हालांकि, आपकी गतिविधि को सेवा के साथ संवाद करने के लिए आपका स्वागत है।

1

यह काम करना चाहिए लेकिन:

पहले एक प्रसारण रिसीवर के साथ प्रयास करें आशय मिलता है और आपकी सेवा शुरू करने के लिए।

है कि अगर काम नहीं करता:

कोई लेआउट के साथ एक डमी गतिविधि का प्रयोग करें। (विषय को पारदर्शी बनाएं और इरादे को संभालने के बाद सही कॉल करें)।

इसके अलावा आपके माइम प्रकार का अर्थ है कि आप प्रत्येक फ़ाइल प्रकार को संभालने वाले हैं। क्या आपको इसकी आवश्यकता है? मुझे लगता है कि आपको इसे चयन में अधिक सटीक बनाना चाहिए। यदि कोई उस व्यक्ति के साथ इसका उपयोग करने का प्रयास नहीं करता है तो आपको नकारात्मक प्रतिक्रिया मिलेगी, जिसका आप समर्थन नहीं करते हैं। मेरा सुझाव है कि परीक्षणों का परीक्षण करें और उन्हें एक-एक करके जोड़ें क्योंकि आप आश्वस्त हैं कि आप उन्हें संभाल सकते हैं।

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