我目前正在开发 Ionic 应用程序并停留在文件下载部分。我看到很多帖子说FileTransfer现在不推荐使用cordova 库以支持XHR 请求。
尽管我看到很多帖子说该库已被弃用,但我找不到任何示例代码(用于从 URL 下载文件)。
任何人都可以建议我在不使用FileTransfer插件的情况下从 url 下载文件的好方法吗?
我正在将 googleMaps 与我的 ionic2 应用程序一起使用。我正在使用 ionic-native lib。到目前为止,我已经实现了很多业务,现在我正在尝试使用谷歌方向服务找到两点之间的路线。但我找不到任何样本或可以从哪里开始。任何想法或样品都将受到充分赞赏。
代码如下:
import { Component } from '@angular/core';
import { NavController, Platform } from 'ionic-angular';
import { TranslateService } from '@ngx-translate/core';
import { BarcodeScanner } from '@ionic-native/barcode-scanner';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
constructor(public navCtrl: NavController, private translate: TranslateService, private barcodeScanner: BarcodeScanner) {
}
//Switch language
changelanguage() {
let browserLang = this.translate.currentLang;
this.translate.use(browserLang.match(/en/) ? 'zh' : 'en');
}
//Scan test
ScanCode() {
this.barcodeScanner.scan()
.then((result) => {
console.log(result);
})
.catch((error) => {
alert(error);
});
}
}
错误图片:
参考: …
我一直在尝试使用 Ionic 3 提供的 ionic-native 插件。当我阅读安装说明时,总是有 2 个命令行而不是一个。
ionic cordova plugin add cordova-plugin-camera
npm install --save @ionic-native/camera
Run Code Online (Sandbox Code Playgroud)
如果我没记错的话,ionic plugin add somepluginhere在过去,只有一个类似于 的命令就可以完成工作。
这里有什么区别?
我import { SMS } from '@ionic-native/sms';在我的 ionic 3 聊天应用程序中尝试过。但document.removeEventListener('onSMSArrive');不工作。
这是我正在使用的软件包
"@ionic-native/sms": "^4.3.0",
"@ionic-native/core": "^4.3.0",
"cordova-sms-plugin": "^0.1.11",
Run Code Online (Sandbox Code Playgroud)
问题是,当我第一次访问我的页面时,它工作正常,并且当我收到手机短信时收到消息。但是,如果我返回另一个页面并返回该页面,我会在函数中收到两次相同的消息。我认为事件监听器没有删除,当我再次导航到该页面时,另一个监听器正在添加到文档中。
这是我的代码
我在页面加载时添加事件侦听器,并在页面卸载时删除它。
public ionViewWillEnter() {
this.smsService.startMessageListner();
}
public ionViewWillLeave() {
this.smsService.stopMessageListner();
}
Run Code Online (Sandbox Code Playgroud)
这是我服务中的startMessageListner()和功能。stopMessageListner()
public startMessageListner()
{
--- some works do here ---
this.startListner();
}
public startListner()
{
this.recieveMessage().then((message) => {
--- receives message here and when after
navigating multiple times I receives
multiple same messages here---
}
}
public recieveMessage() {
if (!window.SMS) { …Run Code Online (Sandbox Code Playgroud) event-listener typescript cordova-plugins ionic-native ionic3
我正在使用 FileChooser 从我的手机和文件插件的内部存储中选择一个文件以将其转换为 base64 但 this.file.readAsDataUrl 给出错误“ FileError{code:2, Message:SECURITY_ERR} ”
我拥有所有必需的权限,但问题仍然存在,下面是我的代码
let base=this
if(this.platform.is('android')){
this.fileChooser.open()
.then(uri => {
var array = uri.split("/");
var path=uri.substring(0, uri.lastIndexOf("/") + 1);
console.log("path"+path)
base.file.readAsDataURL(path, uri).then(dataText=>{
console.log(dataText)
var data = dataText;
},(error)=>{
console.log(error)
})
//console.log(uri)
})
.catch(e => console.log(e));
}
Run Code Online (Sandbox Code Playgroud)
我正在使用 Ionic 3、Angular4、Typescript、Firebase
<ion-item color="transparent" padding="0px">
<ion-input type="email" placeholder="username"></ion-input>
</ion-item>
<ion-item color="transparent" padding="0px" no-lines>
<ion-input id="password" type="password" placeholder="Password"></ion-input>
<ion-icon name="albums"></ion-icon>
</ion-item>
Run Code Online (Sandbox Code Playgroud)
我正在用 ionic 创建一个登录表单。但我有一个问题,我想要在项目内部有一个底部白色边框。我的 CSS 无法正常工作,如果您有任何建议,请给我......谢谢
我正在为我的项目使用Ionic 4和Angular 8。我的项目需要与支付网关服务集成。我正在使用Ionic 4 InAppBrowser 插件打开支付网关站点。
这是我的实现:
const browserRef = this.browser.create(paymentUrl, '_blank');
this._hookBrowserClosedSubscription = browserRef.on('loadstop').subscribe(event => {
console.log(event);
});
Run Code Online (Sandbox Code Playgroud)
我使用命令ionic cordova run android --device --livereload --no-native-run在真实设备上运行我的应用程序。当我尝试使用 InAppBrowser 插件打开页面时出现以下错误:
无法读取未定义的属性“订阅”
我一直在寻找这个错误,他们大多提到它在浏览器上的存在,而不是真实设备。
我正在使用的软件包:
"cordova-plugin-inappbrowser": "^3.0.0"
"@ionic-native/in-app-browser": "^5.8.0",
Run Code Online (Sandbox Code Playgroud)
有人可以帮我吗?
谢谢
在 ionic 4 中,如何进行发布又名产品构建?
角度部分可以通过以下方式在生产模式下构建 ionic build --prod
现在如何将此版本复制到android?如果我这样做ionic capacitor run android,它将首先进行正常构建,然后将资产复制到 android。但我想以生产模式构建并将资产带到 android。
(我知道如何在Android studio中生成apk)
我正在尝试在我的离子应用程序上使用 API 级别 29,并且我要求应用程序询问用户“始终允许”位置。我已经添加了所有建议的修改。
我的 AndroidManifest.xml:
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION">
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION">
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION">
<uses-permission android:name="android.permission.PERMISSION.FOREGROUND_SERVICE">
Run Code Online (Sandbox Code Playgroud)
我的app.component.ts:
initializeApp() {
this.platform.ready().then(() => {
this.statusBar.styleDefault();
this.splashScreen.hide();
this.setProviders();
this.checkBackgroundPermission();
});
}
private async checkBackgroundPermission() {
try {
const result = await this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_BACKGROUND_LOCATION);
if (!result || result.hasPermission === false) {
this.requestPermissions();
}
} catch (error) {
this.requestPermissions();
}
}
private async requestPermissions() {
try {
const data = await this.androidPermissions.requestPermissions([
this.androidPermissions.PERMISSION.ACCESS_BACKGROUND_LOCATION,
this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION,
this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION,
this.androidPermissions.PERMISSION.ACTIVITY_RECOGNITION,
this.androidPermissions.PERMISSION.FOREGROUND_SERVICE
]);
if (!data.hasPermission) {
throw new Error('No permission');
}
} catch …Run Code Online (Sandbox Code Playgroud) ionic-native ×10
angular ×3
ionic3 ×3
ionic4 ×3
typescript ×3
android ×1
cordova ×1
file ×1
google-maps ×1
inappbrowser ×1
ionic2 ×1
npm ×1