如何仅在 android 应用程序中调用 ParsePush.SubscribeInBackground 方法一次?
Posted
技术标签:
【中文标题】如何仅在 android 应用程序中调用 ParsePush.SubscribeInBackground 方法一次?【英文标题】:How to call ParsePush.SubscribeInBackground method only Once in android application? 【发布时间】:2015-01-16 07:37:53 【问题描述】:我在我的 android 应用程序中使用 Parse 服务器。并且还使用解析推送服务。 我已经设置了
ParsePush.subscribeInBackground("ChannelName");
在我的应用程序类中。
当用户从应用设置中禁用通知时,我正在使用
ParsePush.unSubscribeInBackground("ChannelName");
但问题是,我在我的应用程序类中调用了解析推送订阅方法,所以它再次在安装表中设置了“ChannelName”。
问题 -
在我的 android 应用中,我在哪里声明 ParsePush.subscribeInBackground("ChannelName")
方法?
我只想给ParsePush.subscribeInBackground("ChannelName")
打一次电话。当用户首次安装我的 Android 应用时。
提前致谢!
【问题讨论】:
谢谢大家,问题已解决。我推荐了***.com/questions/15134718/…链接。 【参考方案1】:您也可以通过检查 ParseInstallation 来检索已订阅的频道列表。无需将其他数据持久保存到 SharedPreferences。检查 ParseInstallation 以查看频道是否已被订阅,如果是,则不要重新订阅。
final ParseInstallation mInstall = ParseInstallation.getCurrentInstallation();
final List<String> mList = mInstall.getList("channels");
//there are no subscriptions listed on the parse installation
if( mList == null )
//subscribe
else if ( !mList.contains("KEY") )
//subscribe
您可以只使用一个 if 语句,但如果您不小心,以后可能难以阅读和破译。
if( mList != null && !mList.contains("KEY") )
//subscribe!!!
【讨论】:
以上是关于如何仅在 android 应用程序中调用 ParsePush.SubscribeInBackground 方法一次?的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有控件的情况下在 android 中制作相机应用程序,以便仅在屏幕上显示来自镜头的视图? [关闭]
Context.startForegroundService() 仅在 Android 11 Samsung 设备上没有调用 Service.startForeground()
如何避免仅在 Android 上的 Phonegap 应用程序黑屏?