자답입니다.
혹시 저와 같은 실수하시는 분이 없으시길..^^;
1. 잘못된 예 (4.4.4 이상에서는 잘 작동이 되었는데, 4.0.4 쪽에서 테스트하니까 먹통)
package="test.test.test"
<permission
android:name=".permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name=".permission.C2D_MESSAGE" />
...
<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="ssss.test.tttt" />
</intent-filter>
</receiver>
2. 올바르게 고친 것
(1) permission에 페키지 네임을 풀로 적어준다.
(2) android:exported="true"를 삽입한다.
(3) <category android:name="패키지명"> 를 명시해준다.
package="test.test.test" <permission android:name="test.test.test.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="test.test.test.permission.C2D_MESSAGE" /> ... <receiver android:name="com.google.android.gcm.GCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" android:exported="true" > <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> <category android:name="test.test.test" /> </intent-filter> </receiver> |
이렇게 하니까 잘 작동 되네요^^