android - could not access WakefulBroadcastReceiver that is in present in external library -
i doing push notification using gcm written in sdk,developer needs add sdk library project ,my sdk uses context developer , creates registeration id ,but when push server using id not receive notification in fact receiver class not invoked
manifest file in sdk has
<receiver android:name=".gcmbroadcastreceiver" android:exported="true" android:permission="com.google.android.c2dm.permission.send" > <intent-filter> <!-- receives actual messages. --> <action android:name="com.google.android.c2dm.intent.receive" /> <category android:name="com.mysdk" /> </intent-filter> </receiver> <service android:name=".gcmintentservice" />
permission has
<uses-permission android:name="android.permission.internet" /> <uses-permission android:name="android.permission.get_accounts" /> <uses-permission android:name="android.permission.wake_lock" /> <uses-permission android:name="com.google.android.c2dm.permission.receive" /> <permission android:name="com.mysdk.permission.c2d_message" /> <uses-permission android:name="com.mysdk.permission.c2d_message" />
manifest in app has sdk library file
<receiver android:name="com.mysdk.gcmbroadcastreceiver" android:exported="true" android:permission="com.google.android.c2dm.permission.send" > <intent-filter> <action android:name="com.google.android.c2dm.intent.receive" /> <category android:name="com.mysdk" /> </intent-filter> </receiver> <service android:name="com.mysdk.gcmintentservice" />
permission has
<uses-permission android:name="android.permission.internet" /> <uses-permission android:name="android.permission.get_accounts" /> <uses-permission android:name="android.permission.wake_lock" /> <uses-permission android:name="com.google.android.c2dm.permission.receive" /> <permission android:name="com.mysdk.permission.c2d_message" /> <uses-permission android:name="com.mysdk.permission.c2d_message" />
can 1 suggest went wrong ,may possible ,i.e. sending notification sdk
the app uses sdk shouldn't use com.mysdk
gcm permissions , category of broadcast receiver intent-filter. instead should use own package name.
below marked changes should make in app's manifest:
<receiver android:name="com.mysdk.gcmbroadcastreceiver" android:exported="true" android:permission="com.google.android.c2dm.permission.send" > <intent-filter> <action android:name="com.google.android.c2dm.intent.receive" /> <category android:name="change_to_your_apps_package_name" /> </intent-filter> </receiver> <service android:name="com.mysdk.gcmintentservice" /> <permission android:name="change_to_your_apps_package_name.permission.c2d_message"/> <uses-permission android:name="change_to_your_apps_package_name.permission.c2d_message" />
Comments
Post a Comment