2011-12-24 15 views
11

मैं चाहता हूं कि मेरा एंड्रॉइड ऐप एक विकल्प के रूप में सूचीबद्ध हो जब उपयोगकर्ता किसी अन्य ऐप (ब्राउज़र की तरह) से यूआरएल साझा करता है। ऐसा करने के लिए मैं अपना ऐप कैसे पंजीकृत कर सकता हूं? मैं लिंक शेयरों पर प्रतिक्रिया कैसे दे सकता हूं?एंड्रॉइड ऐप साझा लिंक को सुनें

बहुत बहुत धन्यवाद।

संपादित करें:

मैं सफलता के बिना इस तरह IntentFilter का उपयोग कर की कोशिश की है:

<intent-filter> 
    <action android:name="android.intent.action.VIEW" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <category android:name="android.intent.category.BROWSABLE" /> 
</intent-filter> 

कोई भी विचार?

उत्तर

22

बहुत न्यूनतम पर आप की जरूरत है: अपने मेनिफ़ेस्ट में

<activity android:name=".ShareActivity"> 
    <intent-filter 
     android:label="Share with my app"> 
     <action android:name="android.intent.action.SEND" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 
</activity> 

... जो कम से कम इसे 'शेयर' सूची में दिखाई देगा।

सबसे महत्वपूर्ण हिस्सा आप याद कर रहे हैं है:

<action android:name="android.intent.action.SEND" /> 

आप एक गतिविधि की जरूरत यह वास्तव में कुछ करना बनाने के लिए,।

यह भी मदद मिल सकती है: http://sudarmuthu.com/blog/sharing-content-in-android-using-action_send-intent

अतिरिक्त जानकारी:

<activity android:name=".ShareActivity"> 
<intent-filter 
    android:label="Share with my app"> 
    <action android:name="android.intent.action.SEND" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <data android:mimeType="text/plain" /> 
</intent-filter> 
</activity> 

वहाँ <data android:mimeType क्या आप का जवाब है, अगर आप अपने ऐप के प्रतिक्रिया को सीमित करना चाहते सीमित कर देगा।

+0

धन्यवाद, कि पंजीकृत करता है मेरी जब मैं एक यूआरएल साझा करता हूं तो ऐप सूचीबद्ध किया जाता है। हालांकि, आपके द्वारा पोस्ट किया गया आलेख यह नहीं कहता है कि जब कोई अन्य ऐप मेरे ऐप के साथ एक यूआरएल साझा करता है तो जवाब कैसे देना है। अभी के लिए, मेरा ऐप आमतौर पर खुला है, कुछ खास नहीं होता है। मैं साझा यूआरएल कैसे प्राप्त कर सकता हूं? –

+3

आपके प्रश्न ने पूछा कि इसे कैसे सूचीबद्ध किया जाए। आप इसे एक उत्तर के रूप में स्वीकार करना चाहते हैं और लाइनों के साथ एक और प्रश्न पोस्ट कर सकते हैं 'android.intent.action.SEND मंशा से साझा यूआरएल पुनर्प्राप्त करें' बस एक विचार। – TryTryAgain

+2

या नहीं: http://www.vogella.de/articles/AndroidIntent/article.html#explicitintents वह है जो आप खोज रहे हैं - आपको इसे कम से कम वोट देना चाहिए क्योंकि यह सहायक था, भले ही यह समाधान प्रदान करता हो आपके प्रश्न के लिए – TryTryAgain

0

आपको उचित इरादे फ़िल्टर के साथ एक गतिविधि बनाने की आवश्यकता है। Intent के बारे में प्रलेखन पढ़ें, यह सब उदाहरणों के साथ बताता है।

1

अपनी गतिविधि में छवि मिलता है, एक ही छवि के लिए Uri imgUri = (Uri) i.getParcelableExtra(Intent.EXTRA_STREAM); उपयोग करें, या चित्रों की एक सूची के लिए ArrayList<Uri> imgUris = i.getParcelableArrayListExtra(Intent.EXTRA_STREAM); का उपयोग करें:

Intent i = getIntent(); 
Bundle extras = i.getExtras(); 
String action = i.getAction(); 

// if this is from the share menu 
if (Intent.ACTION_SEND.equals(action)) { 
    if (extras.containsKey(Intent.EXTRA_STREAM)) { 
     Uri imgUri = (Uri) i.getParcelableExtra(Intent.EXTRA_STREAM); 
     // Do job here 
    } 
} 

आशा में मदद करता है कि

+0

मुझे काम करने के लिए Intent.ACTION_SEND.equals (action)) नहीं मिल सकता है। getAction शून्य वापस आती है। – Sulby

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