Android Parse通知问题

时间:2015-04-15 02:32:15

标签: java android service parse-platform broadcastreceiver

我的应用中有一个解析通知。如果我打开我的应用程序。然后它会收到通知。 如果我重新启动手机在我打开我的应用程序之前,不会收到任何通知。

我的问题是:

每当电话重新启动时,我如何启动/运行ParsePushBroadcastReceiver。或者即使用户关闭应用程序/杀死应用程序,如何使此Receiver始终运行?

我虽然通过添加android.intent.action.BOOT_COMPLETED会起作用。但它没有

这是我的清单:

    <activity
        android:name=".SplashActivity"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
        <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.RECEIVE_BOOT_COMPLETED" />
        <action android:name="android.intent.action.USER_PRESENT" />
    </intent-filter>
</receiver>

<receiver
    android:name="com.my.app.core.MyParseReceiver"
    android:exported="false" >
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
        <action android:name="android.intent.action.USER_PRESENT" />
        <action android:name="com.parse.push.intent.RECEIVE" />
        <action android:name="com.parse.push.intent.DELETE" />
        <action android:name="com.parse.push.intent.OPEN" />
    </intent-filter>
</receiver>
<receiver
    android:name="com.parse.GcmBroadcastReceiver"
    android:permission="com.google.android.c2dm.permission.SEND" >
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
        <action android:name="android.intent.action.RECEIVE_BOOT_COMPLETED" />
        <action android:name="com.google.android.c2dm.intent.RECEIVE" />
        <action android:name="com.google.android.c2dm.intent.REGISTRATION" />

        <category android:name="com.my.app" />
    </intent-filter>
</receiver>

<meta-data
    android:name="com.parse.push.notification_icon"
    android:resource="@drawable/ic_launcher" />

我的班级

....
public class MyParseReceiver extends ParsePushBroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        super.onReceive(context, intent);
        Log.i(TAG, "onReceive Called");

        if (intent == null) {
            Log.e(TAG, "Receiver intent null");
        } 
        else {
            // Parse push message and handle accordingly
            Log.d(TAG, "Receiver intent data => " + intent.toString());
        }

    }//end onReceive



    @Override
    public void onPushOpen(Context context, Intent intent) {
...

1 个答案:

答案 0 :(得分:0)

我不推荐它,但你可以制作一个onBacKeyPressed()方法,让它看起来像应用程序已被杀死。