0

我正在使用以下方法在用户设备上生成文件,然后通过电子邮件将其发送给我。

new ActivityDumpUtil(FragmentRequestIcons.this, outfile, new ActivityDumpUtil.ActivityDumpCallback() {
                @Override
                public void onComplete (File outfile) {
                    Intent intent = new Intent(android.content.Intent.ACTION_SEND);
                    intent.setType("text/plain");
                    Uri uri = Uri.fromFile(outfile);
                    intent.putExtra(android.content.Intent.EXTRA_STREAM, uri);
                    intent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] { "************" });
                    intent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Icon Support");
                    intent.putExtra(android.content.Intent.EXTRA_TEXT, "I am using " + Build.DEVICE + " with Android version " + Build.VERSION.RELEASE + " on " + getResources().getString(R.string.app_name));
                    startActivity(Intent.createChooser(intent, "Send eMail.."));
                    finish();
                }
            })

我最近在一个 Activity 中有这个,但现在我想要它在一个片段中,因为我使用的是 Android 的导航抽屉。

当然,finish() 在片段中不起作用。我怎样才能从我的片段中完成这项工作?

4

1 回答 1

0

使类可序列化并按意图放置。

使您的课程可序列化:

class yourClass implements Serializable{}

用你的意图说:

intent.putExtra("The Class", this);

要使课程脱离意图(在您的片段中使用它):

yourClass yc = (yourClass) getIntent().getExtras().getSerializable("The Class");
yc.finish()//use this whenever you want
于 2013-10-02T21:33:05.837 回答