안녕하세요. 안드로이드 초짜 개발자 입니다.
제가 하려는 작업은 프로젝트 A(라이브러리용 프로젝트)와 B(A로만든 라이브러리를 이용하는 UI)를 만들어서
그림파일을 서버와 공유하는 푸시서비스 단말을 만들려고 하는데요.
GCM 기본예제를 통해서 샘플을 확인 해보니, 동작은 잘되더라구요.
그런데 문제는, GCM을 UI가 있는 프로젝트 B에다가 넣지않고, 부득이한 사정으로 무조건 A(제공 라이브러리)에 넣어야 하는데요.
라이브러리로 만든 A의 경우에는 AndroidManifest,xml에 Activity를 넣어도 oncreate가 타지를 않더라구요.
GCM을 사용하려면은 아래와 같은 것들을 등록해주고, 푸시를 받을 intentservice도 넣어주어야 하는데, 말이죠.
<receiver android:name="com.google.android.gcm.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="com.testgogo" />
</intent-filter>
</receiver>
<service android:name="com.testgogo.GCMIntentService"/>
. . .
기타 퍼미션등....
현재는, A에는 GCM 푸시관련 파일이나 코드를 넣었고, 위와 같은 설정 퍼미션등은 B에다가 넣어놓은 상황이며,
A에서는 B의 context를 받아서 -> GCMRegistrar.XXXXX(context); 요렇게 사용하고 있습니다.
동작은 되기는 하나, 라이브러리와 UI가 완전히 분리가 안된 상황이여서 문제는 있네요.
혹시 완전히 분리되도록 A에서 GCM을 사용할 수 있는 방법은 있는건가요?
구글링 검색을 해봐도 GCM 관련 사항은 거의 대부분 B와 같이 UI 포함된 곳에서만 사용하고, 라이브러리단에서
사용하는 방법은 안나와 있네요.
이번이 Push가 처음이여서, 더 좋은 방법이 떠오르지가 않습니다.
혹시 조언 해주신다면 감사하겠습니다.
좋은 하루되십시오.