首先附上系統分享內容到其餘應用的方法:android
https://my.oschina.net/u/1462828/blog/2086000ide
分享是調起系統分享接口,是拿不到分享成功與否的狀態的,而且分享到其餘APP了以後通常不會帶有來源自xxxAPP的這種標識,由於對方應用不知道分享是來源自什麼地方什麼應用。spa
分享主要是根據文件的類型進行劃分,有圖片、視頻、音頻、文字等常見類型,也有全部的文件類型,即:(*/*).net
常見的幾種類型:(text/plain)、(image/*)、(audio/*)、(video/*)、(*/*)code
一、新建一個Activity,這裏叫ShareReceiveActivity,並在AndroidManifest裏面註冊它,而後根據類型,加上相關的配置代碼,具體以下:視頻
<activity android:name=".module.share.ShareReceiveActivity"> <intent-filter> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="*/*" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.SEND_MULTIPLE" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="*/*" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="audio/*" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.SEND_MULTIPLE" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="audio/*" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="video/*" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.SEND_MULTIPLE" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="video/*" /> </intent-filter> </activity>
二、配置好了以後,往用於接收分享的Activity的onCreate方法裏面加接收代碼:blog
Intent intent = getIntent(); String action = intent.getAction(); String type = intent.getType(); if (Intent.ACTION_SEND.equals(action) && type != null) { Uri uri = intent.getParcelableExtra(Intent.EXTRA_STREAM); if ("audio/".equals(type)) { // 處理髮送來音頻 ToastUtils.showToast(getContext(),""); } else if (type.startsWith("video/")) { // 處理髮送來的視頻 } else if (type.startsWith("*/")) { //處理髮送過來的其餘文件 } } else if (Intent.ACTION_SEND_MULTIPLE.equals(action) && type != null) { ArrayList<Uri> arrayList = intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM); if (type.startsWith("audio/")) { // 處理髮送來的多個音頻 } else if (type.startsWith("video/")) { //處理髮送過來的多個視頻 } else if (type.startsWith("*/")) { //處理髮送過來的多個文件 } }