- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个应用程序,允许用户转到照片库并选择一张照片用作头像。该代码在任何地方都可以正常工作,但 Xoom 除外,它会启动图库,允许用户选择照片,然后失败并显示“java.lang.RuntimeException:无法解包位图”。我正在使用以下方法调用图库:
public Intent getImagePickerIntent(int width, int height) {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
intent.putExtra("crop", "true");
intent.putExtra("outputX", width);
intent.putExtra("outputY", height);
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("scale", true);
intent.putExtra("noFaceDetection", true);
intent.putExtra("setWallpaper", false);
intent.putExtra("return-data", true);
return intent;
}
然后我使用以下代码获取位图数据:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == PHOTO_PICKED) {
// If the activity successfully captured a photo
if(resultCode == Activity.RESULT_OK && data.getExtras() != null) {
// Resize photo to 100x100 and then save to user's device
try {
// putting this in a try-catch after seeing odd exceptions on a Xoom
ImageHelper.save(PrefsActivity.this, MyApplication.DEVICE_PHOTO_FILE_NAME, ImageHelper.resize((Bitmap)data.getExtras().getParcelable("data"), 100, 100));
请注意,我通过调用 (Bitmap)data.getExtras().getParcelable("data")
这在 Android 2.3 及以下版本上运行良好,知道为什么它在 3.x 中失败了吗?
编辑:为了让它更令人兴奋,同样的代码在 Honeycomb 上的常规 Activity 中运行良好。此特定问题发生在 PreferencesActivity 中。
最佳答案
我最近在尝试在 onActivityResult 方法中返回位图时遇到了类似的问题。令人费解的是,以下代码适用于 SDK 3,但无法适用于更高版本:
Bundle extras = intent.getExtras();
Bitmap bitmap = (Bitmap) intent.getParcelableExtra("someImage");
作为解决方法,我在使用 startActivityForResult 调用的 Activity 中将位图转换为字节数组:
ByteArrayOutputStream stream = new ByteArrayOutputStream();
myBitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
intent.putExtra( "myByteArray", stream.toByteArray() );
回到 onActivityResult 后,我通过以下方式检索它:
byte[] myByteArray = intent.getExtras().getByteArray("myByteArray");
然后我使用以下内容转换回位图:
InputStream is = new ByteArrayInputStream(myByteArray);
Bitmap bmp = BitmapFactory.decodeStream(is);
我希望这对某人有帮助。
关于Android 无法解包 Honeycomb 上的位图错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6460889/
考虑以下两个应用程序: 1: public partial class MainWindow : Window { public MainWindow() { Init
我写了一些被https://github.com/protobuf-c/protobuf-c/wiki/Examples引用的c代码 Operation msg = OPERATION__INIT;
我在使用 SwiftyJSON 正确解开字符串时遇到问题 output: ["AAPL"] stockData = try Data(contentsOf: url!)
我有一个只包含属性的类,我想对其进行打包/解包。我应该实现什么 collections.abc 才能获得此行为? class Item(object): def __init__(self,
考虑以下表达式。请注意,某些表达式被重复以呈现“上下文”。 (这是一个很长的 list ) a, b = 1, 2 # simple sequence
我正在尝试将变量表作为参数解包到函数调用中。简而言之,我正在考虑通过这样做将依赖项注入(inject)到我的过程中。当我在 https://www.lua.org/cgi-bin/demo 执行此操作
我正在尝试弄清楚如何赋予对象解包值的能力。 我想出的用例如下: 让我们有一个 Interval 类,我们将使用它来评估实值函数。 我们想问 成员资格,因此 __contains__。 通过调用特定步骤
所以我知道有一些库可以为我做到这一点,但我想学习打包/解包。 我的目标是让用户输入 IP 地址/子网掩码,然后验证其是否有效。 我想到的一种方法是“sprintf”并获得一个二进制值,比如说 192.
所以我知道有一些库可以为我做到这一点,但我想学习打包/解包。 我的目标是让用户输入 IP 地址/子网掩码,然后验证其是否有效。 我想到的一种方法是“sprintf”并获得一个二进制值,比如说 192.
我正在通过Go v1.13 Go v1.14中的错误跟踪进行检查。为什么看起来只有errors.Is()才能找到没有参数或带有值接收器的错误实现?这意味着能够包装的错误实现必须具有一个值接收器,以便能
我需要解包由其他开发人员创建的 Oracle 包。我在我的数据库中创建了 Prackage,但采用加密格式。 我需要的原因是,原来的开发人员已经离开了组织,现在包中定义的过程需要重新定义,以更新 DB
我打算在文件中使用 unpack。首先我用一个字符串测试。当我在字符串中嵌入空格时,下面的脚本将其显示为空。当我测试文件空间时,它正在被正确读取。不确定为什么在我处理字符串时将其更改为 null。我可
我在 Perl 中遇到这个问题已经有几天了,在搜索了无数的手册页、perldocs 和谷歌搜索了太多的搜索词之后,希望这里有人能帮助我。 我得到两个表示十六进制值的字符串,即“FFFF”,而不是 Pe
在 Python 中解压 SequenceMatcher 循环结果以便轻松访问和处理值的最佳方法是什么? from difflib import * orig = "1234567890" comme
假设,我有一个列表, [(1,2), (3, 4)]. 如果列表中的所有元素都是元组,我将打印 1 + 2 和 3 + 4。但是,如果任何一个元素也是一个列表,那么我将 1 加到内部列表的每个元素,并
我有这样的字典列表。 rows = [ {'user': staff_user, 'grade': [u'0.0', u'N/A', u'N/A', u'N/A', u'N/A']}, {'user'
我有这个代码... function a(options) { for (var item in options) { if ( ! options.hasOwnProperty
我试图通过 std::tie 解压一个 std::array: #include #include int main() { std::array arr = {1, 2, 3};
我的数据包嗅探器有问题。目标端口和源端口在我的嗅探器中似乎是错误的。在 wireshark 中,端口与我的嗅探器完全不同。没有结果包含预期来自 TLS 的端口 443。 (整个 tcp 片段可能是错误
如何使用 php 以大端字节顺序打包/解包 float ?我通过解包功能走到了这一步,但我不确定这是否可行。 function unpackFloat ($float) { $n = unpa
我是一名优秀的程序员,十分优秀!