프로그래밍/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 에서 접근하고, 받는 것으로 변경했더니 됐다.