Parse推送通知仅在APP重新启动时收到



我正在使用解析将通知推向我的应用该应用程序并重新启动应用程序!Parse PrushReceiver服务进入睡眠状态吗?

以下是我的清单和广播员的片段,我有一个敬酒要告诉我何时收到推动!这仅在app restart上发生。

清单:

    <service android:name="com.parse.PushService" />
    <receiver
        android:name="com.parse.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.aadisriram.buzzmessenger" />
        </intent-filter>
    </receiver>
    <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.aadisriram.buzzmessenger.SilentBroadcastReceiver" >
        <intent-filter>
            <action android:name="channelpush" >
            </action>
        </intent-filter>
    </receiver>

广播接收器

@Override
public void onReceive(Context context, Intent intent) {
    Bundle extras = intent.getExtras();
    String message = extras != null ? extras.getString("com.parse.Data") : "";
    JSONObject jObject;
    try {
        jObject = new JSONObject(message);
        String channelName = jObject.getString("channel_name");
        Toast toast = Toast.makeText(context, "Notif received", Toast.LENGTH_SHORT);
        toast.show();
    } catch (JSONException e) {
        e.printStackTrace();
    }
}

好吧,所以我通过将解析SDK从1.3更新为1.4来解决问题!我无法理解的是,如果某些时间在1.3上有效,它突然停止了?

奇怪的问题,但是解决方案正在升级到parse SDK的v1.4。

尝试一下,这可能是对您的帮助,我成功地欺骗了我的推动力。

<receiver android:name="com.parse.ParseBroadcastReceiver" >
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <action android:name="android.intent.action.RECEIVE_BOOT_COMPLETED" />
            <action android:name="android.intent.action.USER_PRESENT" />
        </intent-filter>
    </receiver>
    <receiver android:name="your package name.YourCustomReceiver" >
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <action android:name="android.intent.action.USER_PRESENT" />
            <action android:name="your package name.UPDATE_STATUS" />
        </intent-filter>
    </receiver>

最新更新