android - OnActivityResult 不是在一台 Android 设备上调用,而是在另一台设备上调用

标签 android android-intent

我有四台设备,其中一台是三星 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/

相关文章:

android - 如何在不使用异步任务的情况下避免 networkonmainthread 异常

android - LinearLayout 中的 TextView 不显示文本部分但显示图像正常

java - 如何在 Android Studio 中从 java 类意向到 kotlin 类

android - Cordova 4.1.2 推特整合

java - 当我向 Firebase 实时数据库添加新值时如何保存当前日期/时间

java - 额外的 Intent

android - Android 中的视频录制格式(.3gp 或 mp4)?

java - 使用 Intent 标志和 androidmanifest

java - 从不同的类调用一个 Intent

java - Apache POI .xlsx 读取,Gradle 无法构建