我想允許用戶與Intent.ACTION_SEND
共享文件讓我們說,然後存儲用戶的選擇和地址/電話號碼,以便能夠自動發送一個不同的文件在不同的時間到達同一個目的地。這是可能的和如何? 謝謝是否可以與Intent.ACTION_SEND共享文件檢索並存儲用戶選擇
回答
您可以將您的文件作爲二進制數據共享,如下所述。
從Android開發頁引用鏈接: https://developer.android.com/training/sharing/send.html
發送二進制內容
二進制數據使用ACTION_SEND行動 設置適當的MIME類型和放置URI中的數據合併的共享 另外一個名爲EXTRA_STREAM。這通常用於共享圖像 但可以用來共享任何類型的二進制內容:
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_STREAM, uriToImage);
shareIntent.setType("image/jpeg");
startActivity(Intent.createChooser(shareIntent, getResources().getText(R.string.send_to)));
注意以下幾點:
您可以使用MIME類型的「/「,但這隻會匹配能夠處理通用數據流的活動 。接收的 應用程序需要訪問Uri指向的數據的權限。 推薦的方法是:將數據存儲在您自己的 ContentProvider中,確保其他應用程序具有訪問您的提供商的正確 權限。提供訪問的 的首選機制是使用臨時的每個URI權限,並且 僅授予對接收應用程序的訪問權限。一個簡單的方法可以像這樣創建一個ContentProvider 就是使用FileProvider helper類。 使用系統MediaStore。 MediaStore主要針對視頻, 音頻和圖像MIME類型,但是從Android 3.0(API 級別11)開始,它也可以存儲非媒體類型(請參閱MediaStore.Files 更多信息)。可以使用scanFile() 將文件插入到MediaStore中,之後將適合共享的content:// style Uri傳遞給提供的onScanCompleted()回調的 。請注意,一旦加入到 系統MediaStore內容是設備
只要改變上述代碼的最後一行,所以它不會顯示選擇器每次上可以訪問任何應用程序。它將在隨後的應用程序運行中存儲默認選項。
startActivity(shareIntent);
關於「然後存儲用戶的選擇和地址/以電話號碼,以便能夠自動發送不同的文件到相同的目的地」
用戶選擇發送文件到一個特定的應用將通過使用上面的代碼進行存儲。但我不這麼認爲,您可以在應用程序中存儲來自其他應用程序的特定號碼/地址,以便隨後發送文件。一旦你的意圖去到另一個活動(應用程序),它不能從你以前的活動(應用程序)進行控制。每次您都必須在第二個應用程序中選擇特定的地址/數字。
- 1. 是否有可能使用Amazon S3共享選擇性用戶的文件
- 2. 是否可以在WindowsPhone8中使用ShareMediaTask從獨立存儲共享PDF文件?
- 3. 獲取應用程序包的名稱由用戶選擇共享使用「Intent.ACTION_SEND」
- 4. 是否可以共享DataTrigger?
- 5. 是否可以在共享內存中加載共享庫?
- 6. 使用共享首選項存儲和檢索按鈕狀態
- 7. 使用共享首選項存儲用戶數據可靠嗎?
- 8. 我可以檢查地址是否在共享內存中?
- 9. 是否可以存儲cookie並通過多個StageWebView實例共享它?
- 10. 是否可以與客戶共享vnc服務器的屏幕?
- 11. 共享首選項是否在用戶之間共享
- 12. 共享首選項存儲
- 13. 如何將圖像存儲在共享首選項中並檢索它?
- 14. 用戶是否可以只選擇一次文件保存位置?
- 15. 檢查共享網絡驅動器中是否存在文件
- 16. Google Drive API檢查文件是否與我共享
- 17. 難以存儲共享首選項值爲SQLIte在Android中,並存儲空值
- 18. 當存儲在列表中時是否可以檢索泛型?
- 19. 是否可以在多個項目之間共享ResourceDictionary文件?
- 20. 是否可以在版本控制下讓共享文件?
- 21. 是否可以通過Google Drive API公開共享文件
- 22. 是否可以訪問FILESTREAM共享?
- 23. 是否可以跨項目共享ApplicationSettings?
- 24. C#.Net 4檢索共享文件夾
- 25. 使用共享按鈕(像在ICS gallary)而不是共享dialoge(Intent.ACTION_SEND)
- 26. 檢查是否存在共享首選項
- 27. 適用於所有可共享應用程序的Android Intent.ACTION_SEND
- 28. 在android中使用共享首選項存儲用戶名
- 29. C#Dropbox Api檢索公共共享文件夾的文件
- 30. 是否可以在兩個應用程序之間的內部存儲器中創建共享文件?
這是絕對有可能的。 – 2016-06-01 03:23:30
,你至少能帶領我走向正確的方向。一個多小時的研究並沒有引導我做任何事情。 – MotKohn