* GoogleGcm 이나 Kakaotalk 로그인 연동을 해보면 아래처럼 AndroidManifest.xml 파일에 meta-data 태그를 추가하라고 한다.
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <meta-data android:name="com.kakao.sdk.AppKey" android:value="@string/kakao_app_key" />
그렇다면 <application> 태그안에 선언한 <meta-data>의 정보는 어떻게 가져오는지 궁금하여 포스팅하였습니다.
try { ApplicationInfo ai = getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA); if (ai.metaData != null) { int metaData = ai.metaData.getInt("com.google.android.gms.version"); Log.e("metaData",metaData+""); } } catch (PackageManager.NameNotFoundException e) { // if we can't find it in the manifest, just return null }
* value 형식이 int 라면 getInt 메소드를 사용하고, String 이라면 getString을 사용하면 됩니다.
- meta-data 속성
속성명 | 내용 |
android:name | 아이템의 이름을 설정한다. 'com.example.project.activity.fred'와 같이 자바 스타일의 명명 규칙을 사용해야 한다 |
android:resource | 리소스의 레퍼런스다. ID는 Bundle.getInt() 메서드를 사용해 meta-data Bundle로부터 얻을 수 있다 |
android:value | 아이템에 할당된 값이다. 할당할 수 있는 데이터 타입과 값을 얻기 위해 사용하는 메서드는 다음과 같다
|