让用户 enable/disable 在 Parse 中推送通知

Let user enable/disable Push Notifications in Parse

我正在开发一个 Android 应用程序,它使用来自 Parse 的推送通知。在我的设置菜单上,我想有一个 enable/disable 推送通知的选项,但我找不到使用解析库来实现它的方法。我在网上找到的所有方法似乎都在使用现在已弃用的方法。

我没有使用频道,我只是在启动应用程序时调用 Parse.initialize。

你知道我是怎么做到的吗?澄清一下,我只需要知道如何让设备忽略收到的通知。

此致

好的,我已经找到了解决方案。我必须做的是实现我自己的 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 表示该用户是否要接收通知。