如何使用复选框启用或禁用解析通知? - Android

时间:2015-11-19 10:20:07

标签: android parse-platform push

我有一个文件调用preferencias.xml来包含一个复选框,我也有一个名为Preferencias.java的活动,我需要一件事,当禁用该复选框时,用户停止接收通知Push。

<CheckBoxPreference
    android:key="op_push"
    android:defaultValue="true"
    android:title="Recibir Notificaciones"
    android:summary="Desactiva esta casilla si no deseas recibir más notificaciones"
    />

1 个答案:

答案 0 :(得分:0)

在AndroidManifest.xml中替换以下行:

 android:name="com.parse.ParsePushBroadcastReceiver"

我有这样的东西......

<receiver android:name="your.package.name.Receiver"
        android:exported="false">
        <intent-filter>
            <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是扩展ParsePushBroadcastReceiver的Receiver java类文档的名称(您可以创建此文档),在我的情况下是onPushOpen和onReceive

@Override
protected void onPushOpen(Context context, Intent intent) {
//I use this to open the correct Activity, when the notification is open
}
@Override
public void onReceive(Context context, Intent intent) {
    SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
    if (!sharedPrefs.contains("op_push") || sharedPrefs.getBoolean("op_push", false))
        super.onReceive(context,intent);
}

因此,当通知到达时,通知使用Receiver.java并通过onReceiver问题,首选项不包含“op_push”或“op_push”为false?如果答案为是,则不接受该服务。

基于:Let user enable/disable Push Notifications in Parse