标签: ionic-native

如何在不使用 FileTransfer 的情况下从 Ionic 5 中的 url 下载文件

我目前正在开发 Ionic 应用程序并停留在文件下载部分。我看到很多帖子说FileTransfer现在不推荐使用cordova 库以支持XHR 请求。

尽管我看到很多帖子说该库已被弃用,但我找不到任何示例代码(用于从 URL 下载文件)。

任何人都可以建议我在不使用FileTransfer插件的情况下从 url 下载文件的好方法吗?

file typescript ionic-framework ionic-native

5
推荐指数
1
解决办法
1万
查看次数

使用 ionic-native 的 GoogleMaps 路线服务

我正在将 googleMaps 与我的 ionic2 应用程序一起使用。我正在使用 ionic-native lib。到目前为止,我已经实现了很多业务,现在我正在尝试使用谷歌方向服务找到两点之间的路线。但我找不到任何样本或可以从哪里开始。任何想法或样品都将受到充分赞赏。

google-maps google-directions-api ionic2 ionic-native

4
推荐指数
1
解决办法
9237
查看次数

没有BarcodeScanner的提供者

代码如下:


    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);
                });
        }
    }

错误图片:

在此输入图像描述

参考: …

cordova ionic-framework ionic-native angular

4
推荐指数
1
解决办法
3765
查看次数

“ionic cordova plugin add”和“npm install @ionic-native/plugin --save”之间的区别

我一直在尝试使用 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在过去,只有一个类似于 的命令就可以完成工作。

这里有什么区别?

npm ionic-framework ionic-native ionic3

4
推荐指数
1
解决办法
2108
查看次数

删除 Typescript 的事件侦听器不起作用

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

4
推荐指数
1
解决办法
4389
查看次数

Cordova 文件插件在使用 readAsDataUrl 时出现安全错误

我正在使用 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

typescript cordova-plugins ionic-native ionic3 angular

4
推荐指数
1
解决办法
1228
查看次数

如何删除离子中的项目内边框

      <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-native ionic4

4
推荐指数
2
解决办法
5751
查看次数

无法读取 Ionic 4 和 Angular 8 上未定义的属性“订阅”

我正在为我的项目使用Ionic 4Angular 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)

有人可以帮我吗?

谢谢

inappbrowser ionic-framework ionic-native angular ionic4

4
推荐指数
1
解决办法
1546
查看次数

如何在离子电容器中构建产品

在 ionic 4 中,如何进行发布又名产品构建?

角度部分可以通过以下方式在生产模式下构建 ionic build --prod

现在如何将此版本复制到android?如果我这样做ionic capacitor run android,它将首先进行正常构建,然后将资产复制到 android。但我想以生产模式构建并将资产带到 android。

(我知道如何在Android studio中生成apk)

ionic-framework ionic-native ionic4

4
推荐指数
1
解决办法
1170
查看次数

Ionic 始终允许定位 API 级别 29

我正在尝试在我的离子应用程序上使用 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)

android android-location ionic-framework ionic-native

4
推荐指数
1
解决办法
3420
查看次数