我試圖使用類似intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
的文件共享文件,該文件位於路徑data/data/my.package.name/folder/fileName
,並且每當我嘗試使用Gmail應用程序發送文件時,都會收到錯誤消息。使用意向共享私人文件
我認爲這是由於文件的讀取權限,我的問題是如何給文件的意圖訪問,而不必將文件複製到另一個位置。
謝謝
我試圖使用類似intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
的文件共享文件,該文件位於路徑data/data/my.package.name/folder/fileName
,並且每當我嘗試使用Gmail應用程序發送文件時,都會收到錯誤消息。使用意向共享私人文件
我認爲這是由於文件的讀取權限,我的問題是如何給文件的意圖訪問,而不必將文件複製到另一個位置。
謝謝
試試這個可能對你有幫助。
您正試圖使用intents
作爲電子郵件附件發送該文件。
文件爲空的原因是由於Android安全模型(data/data/my.package.name/folder/fileName
目錄對您的應用程序是私有的),電子郵件應用程序無法訪問data/data/my.package.name/folder/fileName
中的文件。
要在android中附加電子郵件文件,您必須先將文件保存在外部存儲器中。
是的,我認爲這會是這樣的。那麼除了使用外部存儲器之外,沒有其他解決方案嗎? – user557240
因爲我知道它只能附加電子郵件文件的方式.. –
好的謝謝。在文檔中,我確實看到可以使用'openFileOutput(「filename」,MODE_WORLD_READABLE);'所以我只需要複製文件中的數據。然後刪除它。 謝謝 – user557240
共享內容的標準機制是通過ContentProvider。 http://developer.android.com/training/enterprise/app-compatibility.html#sharing_files
你能爲我們發佈你的logcat錯誤嗎? –
logcat中沒有太多的東西。我可以打開Gmail,並將文件作爲附件添加,但是當我收到通知說附件失敗時。 我玩過代碼,會檢查一個日誌貓的錯誤。但我不認爲有一個。 – user557240
您是否試圖從另一個應用程序數據路徑中打開除您自己以外的文件?這是違反Android的安全模式。 –