I've added an email intent to an Android app with code to add a local file as an attchment.
But when I click "Email Data" button to open the intent I get a an app crash and log cat shows the following, http://hastebin.com/idejavunam.avrasm , an error of null pointer exception is output at this line:
case R.id.emailBtn:
so I thought its a problem with the file uri but can't see why as the file exists in the device's file system.
Does anyone know how I can debug this issue? Possibly I'm passing the file's path to email intent incorrectly?
This is the process I'm following to implement the solution.
code from the method that creates csv file:
String baseDir = android.os.Environment.getExternalStorageDirectory().getAbsolutePath();
String fileName = "AnalysisData.csv";
//this filePath is used in email code and converted to Uri.
filePath = baseDir + File.separator + fileName;
File f = new File(filePath);
And this is the code where the email intent is called, with the file path converted to a Uri for attachment prposes:
case R.id.emailBtn: {
Toast.makeText(this, "email clicked", Toast.LENGTH_SHORT).show();
Uri.fromFile(new File(filePath));
Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(
"mailto","[email protected]", null));
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "EXTRA_SUBJECT");
emailIntent.putExtra(Intent.EXTRA_STREAM, filePath);
startActivity(Intent.createChooser(emailIntent, "Send email..."));
break;