我正在开发一款使用Parse推送通知的Android应用。在我的设置菜单上,我想要一个选项来启用/禁用推送通知,但我找不到使用解析库执行此操作的方法。我在网上找到的所有方法似乎都在使用现已弃用的方法。
我没有使用频道,我只是在启动应用时调用Parse.initialize。
你知道我怎么能做到这一点吗?为了澄清我只需要知道如何使设备忽略传入通知。
此致
答案 0 :(得分:1)
好的,我已经找到了解决方案。我必须做的是实现我自己的Receiver来取代Parse的。
public class MyCustomReceiver extends ParsePushBroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context,intent);
}
}
然后在 AndroidManifest.xml 中替换此:
<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.DELETE" />
<action android:name="com.parse.push.intent.OPEN" />
</intent-filter>
</receiver>
用这个(把你的包名称):
<receiver
android:name="your.package.name.MyCustomReceiver"
android:exported="false" >
<intent-filter>
<action android:name="com.example.UPDATE_STATUS" />
<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>
然后根据需要重写你的onReceive,例如,我所做的是:
@Override
public void onReceive(Context context, Intent intent) {
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
if (!sharedPrefs.contains("NOTIF") || sharedPrefs.getBoolean("NOTIF", false))
super.onReceive(context,intent);
}
SharedPreferences中的变量 NOTIF 表示该用户是否想要接收通知。