作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有四台设备,其中一台是三星 Galaxy 6,我最近注意到,当我尝试结束裁剪 Activity 并发回数据时,永远不会调用 onActivityResult
。相反,它奇怪地跳过了 onActivityResult
应该打开的类,并返回到那里的上一个 Activity 。没有发生崩溃,没有传递到此代码中的空值
Bundle extras = new Bundle();
extras.putParcelable(RETURN_DATA_AS_BITMAP, croppedImage);
extras.putIntArray(RETURN_CROP_INFO, cropInfo);
setResult(RESULT_OK,(new Intent()).setAction(ACTION_INLINE_DATA).putExtras(extras));
finish();
永远不会调用 onActivityResult
。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (resultCode == RESULT_OK) {
if (requestCode == Constants.INSTANCE.PICK_FROM_FILE ) {
if (data != null) {
try {
有人知道这可能是什么吗?三星和另一部手机都在运行 Lollipop 。
这是自定义裁剪器的激活。自定义裁剪器代码相当大,所以我不确定在这里发布是否有意义。
private void performCrop(Uri picUri)
{
// create explicit intent
Intent intent = new Intent(this, CropImage.class);
String filePath = picUri.toString();
intent.putExtra(CropImage.IMAGE_PATH, filePath);
intent.putExtra(CropImage.SCALE, true);
intent.putExtra(CropImage.ASPECT_X, 3);
intent.putExtra(CropImage.ASPECT_Y, 4);
intent.putExtra("return-data", true);
intent.putExtra(CropImage.SCALE_UP_IF_NEEDED,true);
// start activity CropImage with certain request code and listen
// for result
startActivityForResult(intent, picCrop);
}
最佳答案
只是碰巧不小心弄明白了这个问题。我一直被这个问题激怒了。
首先,我尝试删除 bundle
,并将图像作为 byte array
传入 intent
。这样做之后还是不行。
然后我注意到,如果我从 intent
中删除图像,代码就会成功到达所有手机上的 onActivityResult
。所以我做了一个解决方法,而不是在 Intent 中传递图像,而是将它保存在我在 onActivityResult
中访问的另一个类中。
我相信我从中得到的是 Galaxy 6 手机是我拥有的唯一一部创建了比可以通过 intent 传递的位图更大的位图的手机,如 byte[]
或否则。
希望这对以后的人有帮助!
关于android - OnActivityResult 不是在一台 Android 设备上调用,而是在另一台设备上调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32238081/
我是一名优秀的程序员,十分优秀!