让用户 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 表示该用户是否要接收通知。
我正在开发一个 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 表示该用户是否要接收通知。