ToUri()无法将intent中的所有额外内容(parcelable、serializable、byte[]..)转换

3
当我像这样在我的intent中添加一个字节数组:
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("image",bs.toByteArray()); intent.putExtras(param);
位图数据从未出现在编码的uri中:
String uri = intent.toUri(URI_INTENT_SCHEME); (uri) -> intent:#Intent;action=android.intent.action.MAIN;launchFlags=0x10000000;component=com.xxxx.xxx/.activity.xxxx;end
提前感谢。
1个回答

4

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';

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接