我正在开发一个应用程序使用离子V6与Angular 和 cordova ,但我有一个问题,使用在应用程序浏览器,当我在电脑上使用应用程序(离子服务)它的工作正常,但当我在手机上测试它(离子 cordova 运行Android)的按钮,应该打开网页不工作,有简单的应用程序中没有任何行动,也没有显示在控制台中的错误。
我遵循此文档:https://ionicframework.com/docs/native/in-app-browser
我已经在其他应用程序中使用了In App Browser,但使用的是旧版的ionic,并使用了以下文档:https://ionicframework.com/docs/v3/native/in-app-browser/(在我的应用程序中无法使用ionic v6)
运行ionic info命令,得到以下数据:
Ionic:
Ionic CLI : 6.16.3 (C:\Users\Gabri\AppData\Roaming\nvm\v14.17.0\node_modules\@ionic\cli)
Ionic Framework : @ionic/angular 6.1.0
@angular-devkit/build-angular : 13.2.6
@angular-devkit/schematics : 13.2.6
@angular/cli : 13.2.6
@ionic/angular-toolkit : 6.1.0
Cordova:
Cordova CLI : 10.0.0
Cordova Platforms : android 9.1.0
Cordova Plugins : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 5.0.0, (and 4 other plugins)
Utility:
cordova-res (update available: 0.15.4) : 0.15.3
native-run (update available: 1.6.0) : 1.4.0
System:
Android SDK Tools : 26.1.1 (C:\Android\android-sdk)
NodeJS : v14.17.0 (C:\Program Files\nodejs\node.exe)
npm : 6.14.13
OS : Windows 10
在代码中,我使用了以下import:
import { InAppBrowser } from '@awesome-cordova-plugins/in-app-browser/ngx';
施工方:
constructor(private iab: InAppBrowser) {}
以及打开浏览器的函数:
abrirProvaOuGabarito(arquivo: string) {
this.iab.create(this.servidorCaminhoBase + arquivo, '_system');
}
例如,生成的链接如下所示:https://plataforma.aerosafeead.com.br/Uploads/simulados/prova-1653513297.pdf
我也测试了谷歌链接,HTTP和HTTPS,我也尝试用_blank
替换_system
或什么都不留下,我也尝试用window.open()
打开页面,并在HTML(< a href=""></a>
)中放置一个简单的链接,我在两个不同的手机上测试,但结果总是一样的。
在我的package.json中,导入如下:
"@awesome-cordova-plugins/core": "^5.41.0",
"@awesome-cordova-plugins/in-app-browser": "^5.43.0",
InAppBrowser位于我的app.module.ts
提供程序中
在我的config.xml中,我只是添加了与默认情况下不同的<allow-navigation href="*" />
,我不知道它是否会干扰,但我使用它是因为我在我的应用程序中运行youtube视频。
我已经找了好几个地方,都没有解决的办法,我不知道还有什么可以改变的。
编辑:我创建了一个新的应用程序来测试,一个干净的应用程序,使用相同的环境,默认情况下它在主页上带有一个链接(空白应用程序),创建后,我用ionic serve
运行应用程序,链接工作正常,但如果你用ionic cordova run android
在手机上运行它,即使应用程序完全为空,错误也是一样的
2条答案
按热度按时间yi0zb3m41#
您需要调用
show()
方法来实际显示浏览器中的页面。cgyqldqp2#
尝试
创建一个新的数据库,并将其添加到数据库中。