从电子邮件客户端返回与FileProvider共享大pdf文件后,onCreate被调用

时间:2018-08-10 10:21:38

标签: android android-intent oncreate android-fileprovider

我正在呼叫具有意图选择器的电子邮件客户端。

 Intent emailIntent = new Intent(Intent.ACTION_SEND);
//          emailIntent.setType("text/plain");
            emailIntent.putExtra(Intent.EXTRA_EMAIL, emails);
            emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Receipt Voucher from Vawsum");
            emailIntent.putExtra(Intent.EXTRA_TEXT, "Please find the receipt voucher attached along with this mail.");
            Uri outputFileUri = FileProvider.getUriForFile(this, BuildConfig.APPLICATION_ID + ".fileprovider", new File(String.valueOf(new File(String.valueOf(pdfDir),  "VawsumVoucher.pdf"))));// - akash - to send third party apps big size files
            emailIntent.putExtra(Intent.EXTRA_STREAM, outputFileUri);
            emailIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
            emailIntent.setType("application/pdf");

        startActivity(Intent.createChooser(emailIntent, "Send Email"));

以下是主要文件中的提供者代码:

<provider
            android:name="android.support.v4.content.FileProvider"
            android:authorities="com.trakkerz.app.fileprovider"
            android:exported="false"
            android:grantUriPermissions="true"
            tools:replace="android:authorities">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/provider_paths"
                tools:replace="android:resource"/>
        </provider> 

需要帮助。

2 个答案:

答案 0 :(得分:0)

含糊不清的提法问题,但是如果您要等待意向,则应使用startActivityForResult()而不是startActivity()

使用onActivityResult()完成之后要完成的工作

答案 1 :(得分:0)

  

在与FileProvider共享大pdf文件的电子邮件客户端返回后,onCreate被调用

我的猜测是,您的应用不在前台时,您的进程已终止。这是perfectly normal