在Android Fragment中使用public void onComplete(File outfile)方法

时间:2013-10-02 21:26:39

标签: java android

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

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中有这个,但我现在想要它在一个片段中因为我使用了Androids导航抽屉。

当然,finish()不会在片段中起作用。我如何从我的片段中完成这项工作?

1 个答案:

答案 0 :(得分:0)

制作课程serializable并将其置于意图之中。

使您的课程可序列化:

class yourClass implements Serializable{}

用你的意图说出来:

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

要使类失去意图(在片段中使用它):

yourClass yc = (yourClass) getIntent().getExtras().getSerializable("The Class");
yc.finish()//use this whenever you want