Java Android Studio,Genymotion-发送带有txt文件附件的电子邮件:显示在gmail中,但不';不发送

Java Android Studio,Genymotion-发送带有txt文件附件的电子邮件:显示在gmail中,但不';不发送,java,android,email,email-attachments,genymotion,Java,Android,Email,Email Attachments,Genymotion,Java、Android Studio、Genymotion 各位亲爱的同事: 我正在从android应用程序发送带有txt附件的电子邮件(意图)。Txt文件是应用程序先前创建的。 在gmail客户端的genymotion中,这个附件(大约1KB的文件)正在显示,但真正的邮件没有附件 代码片段: // file creating ... final String FILENAME = "file"; ... try {

Java、Android Studio、Genymotion

各位亲爱的同事:

我正在从android应用程序发送带有txt附件的电子邮件(意图)。Txt文件是应用程序先前创建的。 在gmail客户端的genymotion中,这个附件(大约1KB的文件)正在显示,但真正的邮件没有附件

代码片段:

    // file creating 
    ...
        final String FILENAME = "file";
    ...

    try {
            // отрываем поток для записи
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(openFileOutput(FILENAME, MODE_PRIVATE)));

            // writing any data

            bw.write ("\n");
...
            Log.d(LOG_TAG, "file is created");


            bw.close();
}

// sending email with intent 

    public void sendEmailwithMailClient (){

        Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
// sending email

        emailIntent.setType("plain/text"); 
        emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"example@rambler.ru"}); 
        emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, getString(R.string.app_name)); 
        emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Hello!");


        File file = new File(getFilesDir(), FILENAME);

 //       if (!file.exists() || !file.canRead()) {
 //           return;}



        Uri uri = Uri.fromFile(file);
        emailIntent.putExtra(Intent.EXTRA_STREAM, uri);

        startActivity(Intent.createChooser(emailIntent, "Pick an Email provider"));


    }
我是否通过getFilesDir()和FILENAME正确定义了附件的Uri? 为什么电子邮件在发送过程中会丢失附件?这是Genymotion的问题,或者事实上我没有在邮件上附加任何内容,而在Genymotion中附加显示只是一个赝品


提前谢谢你

无法从应用程序专用存储中附加文件。 您需要将其保存到外部存储器,然后连接

File file = new File(getFilesDir(), FILENAME);
正在
/data/data/package\u name/files
目录中创建文件。 无法从其他应用程序访问。
如果您仍要共享应用程序专用存储中的文件,则需要创建
内容提供商

如果对您有帮助,请勾选答案。