ToUri()不会转换所有额外的意图(parcelable,serializable,byte [] ..)

时间:2017-02-26 20:59:54

标签: android android-intent parcelable

当我在我的意图中添加一个字节数组时:

  

Intent intent = new Intent(“android.intent.action.MAIN”);

     

Bundle param = new Bundle();

     

ByteArrayOutputStream bs = new ByteArrayOutputStream();

     

bmp.compress(Bitmap.CompressFormat.PNG,50,bs);

     

param.putByteArray( “图像”,bs.toByteArray());

     

intent.putExtras(PARAM);

位图神经数据出现在编码的uri中:

  

String uri = intent.toUri(URI_INTENT_SCHEME);

     

(uri) - >   意图:#Intent;动作= android.intent.action.MAIN; launchFlags = 0x10000000的;成分= com.xxxx.xxx / .activity.xxxx;端

提前致谢。

1 个答案:

答案 0 :(得分:2)

Intent.toUri()不支持数组附加功能。仅支持以下类型(这取自Intent.toUri()的源代码:

            char entryType =
                    value instanceof String    ? 'S' :
                    value instanceof Boolean   ? 'B' :
                    value instanceof Byte      ? 'b' :
                    value instanceof Character ? 'c' :
                    value instanceof Double    ? 'd' :
                    value instanceof Float     ? 'f' :
                    value instanceof Integer   ? 'i' :
                    value instanceof Long      ? 'l' :
                    value instanceof Short     ? 's' :
                    '\0';