解析推送通知仅在首次安装和首次打开应用程序时收到
Parse Push Notifications Received only in first installation and first opening of app
我有一个 android
应用程序,我正在使用 parse.com
向我的设备发送通知。 GCM
对我来说工作正常,但是当我尝试通过 Parse
自己的后端发送通知时,我在第一次安装和第一次打开应用程序时收到通知。但是当我关闭应用程序或打开它后没有收到任何通知时 again.Data Parse.com
上的浏览器显示 pushes
已发送。我认为 Parse 接收器要睡觉了。我已经按照 Parse.com
快速入门中的说明做了同样的事情,并使用了最新的 Parse sdk
版本。请如果有人可以提供帮助。
这是我的初始化代码:
public class ParseApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// Initialize Crash Reporting.
ParseCrashReporting.enable(this);
// Enable Local Datastore.
Parse.enableLocalDatastore(this);
// Add your initialization code here
Parse.initialize(this, "IqApr1J4HMGwfa...........", "Imm42YnYURaH........");
ParseInstallation.getCurrentInstallation().saveInBackground();
}
}
这是我的 AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="Package_Name"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="21" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="Package_Name.permission.C2D_MESSAGE" />
<application
android:name=".ParseApplication"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<meta-data
android:name="com.parse.APPLICATION_ID"
android:value="@string/parse_app_id" />
<meta-data
android:name="com.parse.CLIENT_KEY"
android:value="@string/parse_client_key" />
<activity
android:name=".ParseStarterProjectActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name="com.parse.PushService" />
<receiver android:name="com.parse.ParseBroadcastReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>
<receiver
android:name="com.parse.ParsePushBroadcastReceiver"
android:exported="false" >
<intent-filter>
<action android:name="com.parse.push.intent.RECEIVE" />
<action android:name="com.parse.push.intent.OPEN" />
<action android:name="com.parse.push.intent.DELETE" />
</intent-filter>
</receiver>
</application>
</manifest>
您是否在您的应用中的某处订阅了解析推送服务,如下所示:
ParsePush.subscribeInBackground(/*any channel or just ""*/, new SaveCallback() {
@Override
public void done(ParseException e) {
Log.e(TAG, "Successfully subscribed to Parse!");
}
});
我有一个 android
应用程序,我正在使用 parse.com
向我的设备发送通知。 GCM
对我来说工作正常,但是当我尝试通过 Parse
自己的后端发送通知时,我在第一次安装和第一次打开应用程序时收到通知。但是当我关闭应用程序或打开它后没有收到任何通知时 again.Data Parse.com
上的浏览器显示 pushes
已发送。我认为 Parse 接收器要睡觉了。我已经按照 Parse.com
快速入门中的说明做了同样的事情,并使用了最新的 Parse sdk
版本。请如果有人可以提供帮助。
这是我的初始化代码:
public class ParseApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// Initialize Crash Reporting.
ParseCrashReporting.enable(this);
// Enable Local Datastore.
Parse.enableLocalDatastore(this);
// Add your initialization code here
Parse.initialize(this, "IqApr1J4HMGwfa...........", "Imm42YnYURaH........");
ParseInstallation.getCurrentInstallation().saveInBackground();
}
}
这是我的 AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="Package_Name"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="21" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="Package_Name.permission.C2D_MESSAGE" />
<application
android:name=".ParseApplication"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<meta-data
android:name="com.parse.APPLICATION_ID"
android:value="@string/parse_app_id" />
<meta-data
android:name="com.parse.CLIENT_KEY"
android:value="@string/parse_client_key" />
<activity
android:name=".ParseStarterProjectActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name="com.parse.PushService" />
<receiver android:name="com.parse.ParseBroadcastReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>
<receiver
android:name="com.parse.ParsePushBroadcastReceiver"
android:exported="false" >
<intent-filter>
<action android:name="com.parse.push.intent.RECEIVE" />
<action android:name="com.parse.push.intent.OPEN" />
<action android:name="com.parse.push.intent.DELETE" />
</intent-filter>
</receiver>
</application>
</manifest>
您是否在您的应用中的某处订阅了解析推送服务,如下所示:
ParsePush.subscribeInBackground(/*any channel or just ""*/, new SaveCallback() {
@Override
public void done(ParseException e) {
Log.e(TAG, "Successfully subscribed to Parse!");
}
});