1

所以我有一个设置屏幕,上面有一个开关,如果通知打开/关闭,它可以切换。我可以访问通知的状态,但我想要做的是,如果我将开关从 OFF -> ON 切换,我希望它通过不打开手机的设置以编程方式打开通知设置。我为这个使用世博会。我应该使用askAsync吗?如果我使用这个,通知权限会弹出我不想显示这个。

这是我可以获得通知状态的地方

const { status, permissions } = await Permissions.getAsync(
        Permissions.NOTIFICATIONS
      ); ```

4

1 回答 1

1

您可以通过仅在一种情况下切换来请求许可,如果用户单击了否或拒绝选项,如果他选择了不再询问,那么这是不可能的(仅在 ios 中)。如果他禁用了你必须去设置页面。

 async function requestPermissionForNotification() {
try {
  const permission = await requestNotifications(["alert", "badge", "sound"]);
  if (permission.status === "granted") {
    setupNotification();
  }
} catch (e) {
  console.log(e)
}

为此,您可以使用各种库。

从'react-native'链接导入{Linking};

链接.openSettings();

您也可以使用react-native-permission. 链接 [https://www.npmjs.com/package/react-native-permissions]

于 2020-11-24T04:58:42.407 回答