我想添加多个图像作为电子邮件的附件。因此,我正在尝试将 a 添加java.util.ArrayList到电子邮件中Intent。该列表包含android.net.Uri元素。但它抛出一个ClassCastException:
java.lang.ClassCastException: java.util.ArrayList cannot be cast to android.os.Parcelable
at android.os.Bundle.getParcelable(Bundle.java:792)
at android.content.Intent.getParcelableExtra(Intent.java:5377)
at android.content.Intent.migrateExtraStreamToClipData(Intent.java:8144)
at android.content.Intent.migrateExtraStreamToClipData(Intent.java:8124)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1505)
at android.app.Activity.startActivityForResult(Activity.java:3917)
at android.app.Activity.startActivityForResult(Activity.java:3877)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:843)
at android.app.Activity.startActivity(Activity.java:4200)
at android.app.Activity.startActivity(Activity.java:4168)
at de.zinnet.parkingoffenders.ParkingOffendersActivity.sendEmail(ParkingOffendersActivity.java:135)
at de.zinnet.parkingoffenders.ParkingOffendersActivity.onOptionsItemSelected(ParkingOffendersActivity.java:103)
at android.app.Activity.onMenuItemSelected(Activity.java:2908)
at android.support.v4.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:404)
Run Code Online (Sandbox Code Playgroud)
我尝试了不同类型的Intent. 我调用的方法来创建Intent和启动Activity:
private void sendEmail() {
ParkingOffendersListFragment fragment = (ParkingOffendersListFragment) getFragmentManager().findFragmentById(R.id.fragment_list);
Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.setType("text/plain");
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
String[] to = {settings.getString(getResources().getString(R.string.key_receiver_mail), "")};
emailIntent .putExtra(Intent.EXTRA_EMAIL, …Run Code Online (Sandbox Code Playgroud)