본문 바로가기

프로그래밍/Android

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



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



'프로그래밍 > Android' 카테고리의 다른 글

Android Thread Handler  (0) 2019.04.17
Android capture  (0) 2013.11.27
Installation failed due to invalid APK file!  (0) 2013.11.15
jni 할때 Edit Configuration 꼭 할 것  (0) 2013.11.15
Binary XML file line #7: Error inflating class  (0) 2013.11.14