首先請不要將此問題設置爲重複或其他任何內容,因爲所有其他問題都不會覆蓋我的問題。我的問題是push notification
。我已在我的應用中使用gcm
實施了push notification
並製作了jar
及其源代碼。現在我已將其與我的res
文件夾一起分發以進行集成。它的工作正常,如果主機應用程序不執行它自己的push notification
。如果主機應用程序自己實現push notification
,那麼我的集成應用程序不會收到推送。 Register GCM from a library project使用jar推送通知不起作用
我用下面除了在應用程序中,我已經將我的罐子:
我通過這篇文章去
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_CALENDAR" /> <uses-permission android:name="android.permission.WRITE_CALENDAR" /> <!-- GCM requires a Google account. --> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <!-- Keeps the processor from sleeping when a message is received. --> <uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- Creates a custom permission so only this app can receive its messages. --> <permission android:name="HOST_APP_PACKAGE.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="HOST_APP_PACKAGE.permission.C2D_MESSAGE" /> <!-- This app has permission to register and receive data message. --> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <!-- Network State Permissions to detect Internet status --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- Permission to vibrate --> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
而下面是我的接收器:
<receiver android:name="MY_JAR_APP_PACKAGE.PushLibraryBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" > <intent-filter> <!-- Receives the actual messages. --> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <!-- Receives the registration id. --> <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> <category android:name="HOST_APP_PACKAGE" /> </intent-filter> </receiver>
我PushLibraryBroadcastReceiver
類代碼jar
:基於上述的澄清
public class PushLibraryBroadcastReceiver extends GCMBroadcastReceiver { /** * Gets the class name of the intent service that will handle GCM messages. */ @Override protected String getGCMIntentServiceClassName(Context context) { return "MY_JAR_APP_PACKAGE.GCMIntentService"; } }
當你說主機應用程序實現'push notificatin'屬於它自己的時候,你的意思是什麼? –
意味着集成我的應用程序的應用程序 –
它給出了任何錯誤? –