我有一个文件调用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"
/>
答案 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?如果答案为是,则不接受该服务。