2013-11-15 51 views
2

我正在開發一個共享APK文件的應用程序。爲此,我使用Intent Chooser來顯示相關/支持的應用程序。在這種情況下,如果我選擇Gmail應用程序,現在可以在撰寫&時看到附件,但未收到任何附件。但是當我通過藍牙傳輸時,它工作正常。我不知道我的代碼有什麼問題無法接收郵件中的附件

我的實現就像從URI發送字節內容一樣。請幫我解決這個問題。

private void sendApk(String apkSourcePath2) { 

    Intent sharingIntent = new Intent(Intent.ACTION_SEND); 
    sharingIntent.setType("application/*"); 

    String shareBody = "Please find the attached APK file..."; 
    String subject = "From EasyShare"; 
    sharingIntent.putExtra(Intent.EXTRA_SUBJECT, subject); 
    sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(apkSourcePath2))); 
    sharingIntent.putExtra(Intent.EXTRA_TEXT, shareBody); 
    startActivity(Intent.createChooser(sharingIntent, "Send/Share via..")); 

} 

這裏apkSourcepath2指向Packageinfo.sourceDir

,也是我的問題是,沒有Gmail無法從數據/ app文件夾訪問文件?

任何建議來實現這個模塊?

+0

給我們提供apkSourcePath2的完整值。 – Snicolas

+0

apkSourcePath2將會是這樣的「data/app/ .apk」 – saravana

回答

3

全部取決於apkSourcePath2的值。

如果它位於您的應用沙箱內,則無法通過任何其他應用訪問它。你可以爲此使用內容提供者。

+0

apkSourcePath2將會像這個data/app/ .apk – saravana

+0

這就是你的沙箱。使用ContentProvider共享對其他應用程序的訪問權限:http://stackoverflow.com/q/12170386/693752或將apk放在其他位置,如SD卡,其中所有應用程序都可以讀取和寫入。 – Snicolas

+0

我以爲我的應用程序會從上述路徑中讀取文件(data/app/ .apk,我也應該將apk文件複製到其他位置? – saravana