【Android】分享

來源:互聯網
上載者:User

本講主要介紹如何在自己的應用中實現分享功能,同時介紹如何將自己的程式加入分享列表。

比如有一張圖片,想要分享到校內上...看看吧。

本次我們就是要做這樣的效果,同時把自己的應用也加入到分享列表中。

調出"共用方式"的代碼如下:

Intent intent=new Intent(Intent.ACTION_SEND);</p><p> intent.setType("text/plain");<br /> intent.putExtra(Intent.EXTRA_SUBJECT, "分享");<br /> intent.putExtra(Intent.EXTRA_TEXT, "好東西,與您分享!");<br /> startActivity(Intent.createChooser(intent, getTitle())); 

如何讓自己的應用也加入這個分享列表呢?

答案其實也很簡單,只需在AndroidManifest.xml設定檔中activity標籤之間加入以下代碼:

<intent-filter><br /><action android:name="android.intent.action.SEND"><br /></action><br /><category android:name="android.intent.category.DEFAULT"><br /></category><br /><data android:mimeType="text/plain"><br /></data><br /></intent-filter>

注意,以上程式最好在真機上測試,模擬器上看不出效果!

另外,有的同學可能不想把這些應用都顯示出來,比如指向要簡訊、郵件,那麼可以通過先擷取分享列表,然後自己過濾的方式來實現。

擷取分享列表代碼:

public List<ResolveInfo> getShareTargets(){<br /> List<ResolveInfo> mApps = new ArrayList<ResolveInfo>();<br /> Intent intent=new Intent(Intent.ACTION_SEND,null);<br /> intent.addCategory(Intent.CATEGORY_DEFAULT);<br /> intent.setType("text/plain");<br /> PackageManager pm=this.getPackageManager();<br /> mApps=pm.queryIntentActivities(intent,PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);</p><p> return mApps;<br /> } 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.