안녕하세요. 며칠 째 이것만 붙들고 있는데,
구글링 해도 만족할 만한 답을 찾지 못해서 질문 남깁니다.
GCM 서비스 클라이언트 부분을 개발하고 있는데요,
에러가 났는데 해결 하지 못해서 질문 남깁니다.
메인 엑티비티에서는
GCMRegistrar.checkDevice(mContext);
GCMRegistrar.checkManifest(mContext);
if (GCMRegistrar.getRegistrationId(mContext).equals("")) {
GCMRegistrar.register(mContext, PROJECT_ID);
} else {
// 이미 GCM 을 상요하기위해 등록ID를 구해왔음
GCMRegistrar.unregister(mContext);
GCMRegistrar.register(mContext, PROJECT_ID);
}
이렇게 사용하고, Manifest에서는
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="net.allbridge.memberaction"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<permission
android:name="net.allbridge.memberaction.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="net.allbridge.memberaction.permission.C2D_MESSAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="com.google.android.c2dm.permission.SEND" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar"
<activity
android:name=".Login"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateAlwaysHidden" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name=".GCMIntentService" >
</service>
<receiver
android:name=".GCMBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="net.allbridge.memberaction" />
</intent-filter>
</receiver>
</application>
</manifest>
이렇게 사용하였습니다. 그런데, 이렇게 시작하고 보면 에러가 나는데 에러 화면은 첨부파일에 넣은 것처럼 이렇게 나옵니다.
주석처리 하고, 한 줄 씩 풀어가면서 실행시켜 보니깐,
GCMRegistrar.checkManifest(mContext);
이 부분에서 에러가 나는데요. 보시다시피 메니페스트에 하라는데로 permission은 다 등록했는데, 퍼미션 문제가 일어나는 것 같습니다.
해결 방안에 대해 아시는 분 계신가요?




에러로그를 보여주세요 ; ㅅ;