2012-02-17 58 views
3

我正在使用以下代碼來共享來自我的應用程序的信息。篩選ACTION_SEND共享選項

Intent sendIntent = new Intent(); 
sendIntent.setAction(Intent.ACTION_SEND); 
sendIntent.putExtra(Intent.EXTRA_TEXT, "share Content"); 
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "share subject"); 
sendIntent.setType("text/plain"); 
startActivity(Intent.createChooser(sendIntent, "Share Place via")); 

上面的代碼顯示了一些選項,通過它我可以分享,我想實現某種方式經過選擇和省略其中的一些。

例如,在我的情況下,如果Facebook應用程序存在於設備上,上面的代碼將其顯示爲其中一個選項。由於我已經在我的應用程序中集成了Facebook android sdk。我想從共享選項中刪除Facebook選項。

回答

2

我想你應該看看PackageManagerqueryIntentActivities (Intent intent, int flags)方法。這會給你一個與你的Intent匹配的Activities的列表,然後你可以刪除其中的一些,並向用戶展示一個自定義Dialog,在那裏你只顯示所需的Activities。在用戶選擇Activity之後,您必須明確地啓動該Activity