在android中向服务器发送带有任何类型文件附件的消息

时间:2014-11-12 06:44:09

标签: android android-intent file-upload android-file

我正在开发一个包含邮件发送模块的应用程序。用户可以像在电子邮件中一样撰写邮件并发送给其他用户。我想附加任何类型的文件(.doc .txt图像/音频/视频)并使用

发送到服务器
      receiver_id=12345&subject=testapi&msg=testmsg&attach_file=test.txt

我这样做

 private void attachFile() {
     Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
    intent.setType("file/*");
    intent.addCategory(Intent.CATEGORY_OPENABLE);

    Intent sIntent = new Intent("com.sec.android.app.myfiles.PICK_DATA");
    sIntent.addCategory(Intent.CATEGORY_DEFAULT);

    Intent chooserIntent;
    if (getPackageManager().resolveActivity(sIntent, 0) != null) {
        // it is device with samsung file manager
        chooserIntent = sIntent;
        chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS,
                new Intent[] { intent });
    } else {
        chooserIntent = intent;
    }

    try {
        startActivityForResult(chooserIntent, PICK_FILE);
    } catch (android.content.ActivityNotFoundException ex) {
        Toast.makeText(getApplicationContext(),
                "No suitable File Manager was found.", Toast.LENGTH_SHORT)
                .show();
    }
}
 public void onActivityResult(int requestCode, int resultCode, Intent data) {
                   if (requestCode == PICK_FILE && resultCode ==getActivity().RESULT_OK) {

                        String FilePath = data.getData().getPath();
                          Log.i("Attachment Path:", FilePath);
                    }
 }

我正在获取文件路径,但是 1)我怎么知道文件是否附加/如何进行附件

2)如何通过仅指定文件名(& attach_file = test.txt)将此文件与消息一起发送?

我看到很多关于向电子邮件发送附件的SO问题,但不是这样的。任何人都可以指导我吗?

0 个答案:

没有答案