4 つのタブを持つアプリケーションがあり、それぞれに ActivityGroup があります。
1 つのタブで、特定の子アクティビティでギャラリーを起動して写真を選択します。
インテント 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 はずっと前から非推奨であり、Fragments に移行する必要があることは知っていますが、Fragments に移行せずにジェリー Bean でこれを機能させる方法はありますか?
ActivityGroup の childActivity としてギャラリーを開いて修正しようとしています:
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) で実行する
何か案は?
編集:
最後に Fragments に移行しましたが、思ったよりずっと簡単でした。