如何检测是不是在本机反应中显示警报?

Posted

技术标签:

【中文标题】如何检测是不是在本机反应中显示警报?【英文标题】:How to detect if an alert was shown in react native?如何检测是否在本机反应中显示警报? 【发布时间】:2018-12-03 16:47:17 【问题描述】:

我正在使用 react-native-push-notification,只有在用户决定是否要从我的应用程序推送通知后,我才需要更改屏幕。但是一旦遇到onRegister: function(token)ios 会自动显示系统警报。如何听取用户在此系统警报框上的选择?

【问题讨论】:

【参考方案1】:

听取用户的决定。

PushNotification.requestPermissions().then((response: any) => 
  if (response && response.alert !== 0) 
    // Allow
    return; 
  
  // Decline
);

【讨论】:

【参考方案2】:

我之前没有使用过 react-native-push-notification 的经验,但只是稍微研究了一下,发现它在内部使用了 React Native 的 PushNotificationIOS 并且该组件具有 checkPermissions 方法。所以它可能会对你有所帮助。

您还应该做的是拒绝该权限一次,然后查看token 是否可用(不为空)。我相信token 的可用性必须是您正在寻找的场景的决策者。

另外,只是让您知道,react-native-firebase 是一个完整的 firebase 功能包,并且维护良好。如果您从项目开始,您应该试一试。 API类似于firebase的官方web sdk,文档通俗易懂。

【讨论】:

以上是关于如何检测是不是在本机反应中显示警报?的主要内容,如果未能解决你的问题,请参考以下文章

如何在本机反应中显示从可搜索下拉列表中选择的项目?

在警报消息如何插入断行的反应,本机真棒的警报

使用本机反应检测相机上的活人脸

可以在本机反应中检测到视图组件吗?

检测何时触摸另一个视图 - 在本机反应中使用 PanResponder 拖动

发出警报后,我无法在我的反应本机应用程序中关闭我的键盘