2016-11-25 95 views
0

我的問題是,當我想要從Twitter應用程序分享推文時,當我按下分享按鈕時,彈出窗口打開並顯示所有可以分享我的推文的應用程序。 Twitter應用程序如何知道要顯示哪些應用程序? 這類似於打開圖像時出現彈出窗口,並要求我們要查看該圖像的應用程序。任何OS如何確定要顯示哪些應用程序。twitter/facebook如何知道哪些應用程序可以共享tweet/status/images?

我的猜測是,必須對原始應用程序本身做些事情。 附參考

enter image description here

回答

1

在上述截圖Facebook,微博,G +等正在使用的過濾器意圖的圖像。

通過定義intent過濾器,您可以實現這一點。您可以通過針對特定事件的意向過濾器來註冊您的Android組件。如果組件未定義它,則只能通過顯式意圖調用它。此註冊的關鍵在於您的組件註冊了正確的操作,MIME類型並指定了正確的元數據。

例如,

<activity android:name=".BrowserActivitiy" 
    android:label="@string/app_name"> 
    <intent-filter> 
    <action android:name="android.intent.action.VIEW" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <data android:scheme="http"/> 
    </intent-filter> 
</activity> 

上面的代碼會註冊一個活動,當有人想要打開一個網頁時觸發該活動。

來源:http://www.vogella.com/tutorials/AndroidIntent/article.html

+0

我該如何在自己的應用程序上分享推文? –

+0

set intent-filter –

+0