본문 바로가기
[android] MOS 에서는 ACTION_IMAGE_CAPTURE 에도 Camera permission 이 필요하다. [android] MOS 에서는 ACTION_IMAGE_CAPTURE 에도 Camera permission 이 필요하다. http://developer.android.com/reference/android/provider/MediaStore.html#ACTION_IMAGE_CAPTURE -문서에 따르면 마쉬멜로우 (MOS) 부터는 Camera 한테 이미지 캡춰해달라고 요청하는 intent action 을 날리는 과정에서도Camera Permission 이 필요하다.. 단, Manifest 에 Camera permission 을 declare 하고 grant 하지 않은 경우에만 해당한다. 즉, 진즉에 Manifest 에 Camera permisison 을 정의하지 않았으면 문제 없다. action_imag.. 2017. 9. 4.
[android] compileSdk 를 올린 후에 provider permission denied 에러가 나면..? [android] compileSdk 를 올린 후에 provider permission denied 에러가 나면..? Jelly Bean 미만 버전을 사용하다가 Jelly Bean 이상으로 올렸는지 먼저 확인해봐야 한다.위의 상황이라면 manifest 의 provider 정의에 exported=“true” 로 적혀있는지 봐야 한다.젤리빈 미만 버전에서는 exported=“true” 값이 default 였지만, Jelly Bean 부터는 그렇지 않아서 이걸 적어줘야 한다.저걸 적어주는 순간 매직! 해결! compilesdk, default, exported, exported true, jelly bean, manifest, Provider, provider permission denied, targetsd.. 2017. 8. 29.
[android] 추가된 유용한 annotations [android] 추가된 유용한 annotations http://tools.android.com/tech-docs/support-annotationshttps://developer.android.com/reference/android/support/annotation/package-summary.html -Android support library 19.1 version 에서 annotation 들을 추가했다. -이 녀석을 사용하려면 gradle 에 다음을 추가해야 한다. compile ‘com.android.support:support-annotations:20.0.0’ 여기서는 크게 3가지 형태의 annotation 을 제공한다. 1. Nullness annotattions2. Resource ty.. 2017. 8. 2.
[android] Localize 에 대한 이야기. [android] Localize 에 대한 이야기. 참조 : http://blog.danlew.net/2014/09/08/what-should-i-localize/?utm_source=Android+Weekly&utm_campaign=c1f6bc0d27-Android_Weekly_119&utm_medium=email&utm_term=0_4eb677ad19-c1f6bc0d27-337262377 - xml 에 string 을 작성할 때 string res 를 사용하는 것이 localize 에 대한 기본이다. 보통 Lint 도 이 방법을 추천하지만, lint 가 잡아내지 못하는 항목들도 많다. - Lint 가 잡아내는 xml 항목들 android:text android:hint android:contentDe.. 2016. 11. 10.
[android] Fragment 와 함께라면 Configuration Change 가 무섭지 않아. [android] Fragment 와 함께라면 Configuration Change 가 무섭지 않아. -애석하게도 대부분의 개발자들이 manifest 에 configChanges 속성을 통해 orientation 값만 설정해주면 모든게 해결되는 줄 안다. 하지만 그렇지 않다. Configuration Change 는 여러 경우에 발생된다. 기본적으로 configChanges 에 들어가는 값들의 상황이 그렇고, 언어가 변경되거나, dock 에 연결되거나, font 크기가 바뀌거나 등의 조건으로 destroy-recreate 되곤 한다. 또한 리소스, 메모리 관리 측면에서 Activity 가 destroy 되고 create 되도록 하는 것이 좋다. - 예전부터 개발을 해온 사람이라면 Activity 에 on.. 2016. 10. 12.
[android] authenticator 관련 Tutorial [android] authenticator 관련 Tutorial 참조 : http://cranix.net/346 http://cranix.net/347 http://cranix.net/349 http://cranix.net/350 Authenticator Service - 안드로이드 설정의 Accounts & Sync 메뉴의 기능 제공을 위해서 필요하다. - @ Manifest - @ xml/authenticator.xml - @AuthenticationService.java public class AuthenticationService extends Service { @Override public void onCreate() { // TODO Auto-generated method stub } @Ove.. 2015. 12. 5.
[Android] activity-alias 태그를 사용하는 좋은 예. [Android] activity-alias 태그를 사용하는 좋은 예. 런처는 기본적으로 intent-filter 의 category 가 android.intent.category.LAUNCHER 로 등록된 녀석의 Activity Name 을 shortcut 과 mapping 시켜서 바탕화면에 바로가기 아이콘을 생성한다.( 기본적인 것으로 모든 런처 구현이 그렇다는 것은 아니다. ) 그래서 만약에 업데이트를 하면서 category LAUNCHER 로 지정했던 녀석의 이름이 바뀌게 되면,런처 구현에 따라 다르지만 보통 바로가기가 삭제되거나 혹은 아이콘은 존재하지만 "존재하지 않는 앱입니다." 와 같은 메세지를 보이며 연결이 제대로 되지 않는다. 그냥 기존의 바탕화면 아이콘을 제거하거나, 모든 프로그램에서 .. 2014. 6. 6.
Cannot use SessionLoginBehavior SSO_WITH_FALLBACK when com.facebook.LoginActivity is not declared as an activity in AndroidManifest.xml Cannot use SessionLoginBehavior SSO_WITH_FALLBACK when com.facebook.LoginActivity is not declared as an activity in AndroidManifest.xml If you encounter the error message indicated at the title, add following code to your manifest. Cannot use SessionLoginBehavior SSO_WITH_FALLBACK when com.facebook.LoginActivity is not declared as an activity in AndroidManifest.xml, com.facebook.loginactivity, E.. 2014. 6. 4.
[android] Fake Message로 GCM 수신 테스트 하기. ( simulation ) android, Fake Message로 GCM 수신 테스트 하기. ( simulation ) 1. 기본 GCM 사용을 위한 manifest 정의. 2. permission 중 com.google.android.c2dm.permission.SEND 에 대한 permission 임시적으로 삭제 ( 경우에 따라 이 permission 을 사용하지 않는 경우도 있다. 없으면 pass ) 3. adb shell am broadcast -a com.google.android.c2dm.intent.receive -n [packageName]/[receiverFullName] -es "data.key" "value" 위 3가지 과정을 거치면 receiver 에 메세지가 들어와야 한다. 참고로, 테스트가 끝나면 반드시.. 2014. 4. 7.
반응형