startActivityForResult from ActivityGroup in Jellybean 导致重新启



我有一个有 4 个选项卡的应用程序,每个选项卡都有一个活动组。

在一个选项卡中,在某些儿童活动中,我启动图库以挑选照片:

意向 i = 新意图(Intent.ACTION_PICK);i.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, MediaStore.Images.Media.CONTENT_TYPE);getParent()。startActivityForResult(i,Documento.SELECCIONAR_FOTO_FROM_GALLERY);

这在果冻豆之前工作正常,在这个版本中,当我使用 startActivityForResult 启动活动时,当必须调用 onActivityResult 时,应用程序会自动重新启动。

我知道ActiviyGroup很久以前就被弃用了,我应该转移到碎片,但是,有没有办法在不迁移到碎片的情况下在果冻豆中做到这一点?

我正在尝试修复它以子身份打开图库活动组的活动:

        Intent i = new Intent(Intent.ACTION_PICK) ;
        i.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, MediaStore.Images.Media.CONTENT_TYPE) ;
        TabGroupActivity parentActivity = (TabGroupActivity)MyActivity.this.getParent();
        parentActivity.startChildActivity("MyGalleryActivity", i);  
        dialog.cancel();

但我得到下一个例外:

10-19 16:10:48.403: E/AndroidRuntime(9237): java.lang.SecurityException: 请求来自com.sec.android.gallery3d(使用uid 10112)的代码在进程中运行 jaime.mapas(使用uid 10165)

有什么想法吗?

编辑:

最后,我

转向了碎片,比我想象的要容易得多。

这在果冻豆之前工作正常,在这个版本中,当我使用 startActivityForResult 启动活动时,当必须调用 onActivityResult 时,应用程序会自动重新启动。

这是预期行为。无法保证应用的进程不在前台时将保留在内存中。这与用户按 HOME,然后在一段时间后通过最近任务列表返回到你的应用没有什么不同。

有没有办法在不迁移到碎片的情况下在果冻豆中做到这一点?

片段将无济于事,因为它已经按预期工作。

相关内容

  • 没有找到相关文章

最新更新