use*_*707 7 javascript react-native expo
我想在 React Native expo 中打开一个 Web 浏览器,它会加载一个 url,然后我想监听要点击的特定 URL,此时我希望它运行一些代码,然后关闭浏览器窗口。
我一直在尝试使用 Expo 的 WebBrowser 来实现此目的。
https://docs.expo.io/versions/latest/sdk/webbrowser/
async componentDidMount() {
Linking.addEventListener("url", this.handleOpenURL);
}
handleOpenURL(event) {
console.log(event.url);
// do something here then dismiss the browser
}
Run Code Online (Sandbox Code Playgroud)
...在代码的进一步下方,我可以通过按下按钮来实现此操作
let result = await WebBrowser.openBrowserAsync('www.exampleurl.com');
Run Code Online (Sandbox Code Playgroud)
这会打开网页,但不会点击handleOpenUrl代码,这可以完成吗?如果可以的话,有人有例子吗?
小智 1
仅当有人打开重定向到您的应用程序的 url 时,您的 handleOpenURL 函数才会运行,它不会监视 WebBrowser 的会话。
如果您可以控制后端,那么您可以使用重定向链接并AuthSession通过 exco 鉴于 . 你可以这样做:
import { AuthSession } from 'expo';
let authResult = await AuthSession.startAsync({
authUrl: `https://myserverurl.com/?` +
`redirect_uri=${encodeURIComponent(redirectUrl)}`
});
// This part will run after browsing session is over
console.log(authResult)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4007 次 |
| 最近记录: |