프로그래밍/Android

Activity를 상속받지 않은(extends 하지 않은) 클래스에서의 intent

showmiso 2013. 11. 20. 16:43



Relative layout을 상속받은 custom layout 을 상속받은 ~~~ view class 가 있다.


내 목적은 이 class에서 갤러리에 접근하고, 갤러리에서 받은 사진을 imageview에 setImageBitmap하는 것이었다.


이 class 는 activity 를 상속받은 것이 아니기 때문에, 

갤러리에 접근하기 위해서는


intent.setAction(Intent.ACTION_GET_CONTENT);

intent.setType("image/*");

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

mContext.startActivity(intent);


위와같이 flag를 FLAG_ACTIVITY_NEW_TASK로 해줘야 한다. 

또한, startActivity는 되지만, startActivityForResult는 되지 않는다. 


이 view에서 갤러리로 접근할 수 있었기 때문에, 반대도 가능하다고 생각했다. 하지만 아니였고, 간단히 생각해 보면 될 문제였다 ㅠㅡㅜ

그 view class를 호출한 (Activity를 상속받은) class A 에 onActivityResult 에 intent 가 들어오고 있었다.


startActivityForResult의 사용과, onActivityResult 함수를 사용하기 위해, class A 에서 접근하고, 받는 것으로 변경했더니 됐다.