标签: ionic-native

离子检查文件(路径,文件名)NOT_FOUND_ERR

文件路径 - file:///data/data/io.ionic.starter/data.json

我想检查提到的路径中是否存在“ data.json ”。

但是我收到一个错误 -{"code":1,"message":"NOT_FOUND_ERR"} 目前该文件不存在于路径中,所以我希望Promise<>返回false,但最终会引发错误。

示例代码:

var fileName = "data.json";
     this.file.checkFile(this.file.applicationStorageDirectory, fileName)
    .then((result) => {
    console.log('file exists :' + result);
    },(error){
    console.log('error : ' + JSON.stringify(error)});
Run Code Online (Sandbox Code Playgroud)

android ionic-framework ionic2 ionic-native

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

如何在离子3中自定义"BarcodeScanner"

我在离子3中存在离子BarcodeScanner库中定制(QR码扫描屏幕)设计的问题.我需要帮助自定义此屏幕,添加页眉,页脚和按钮.在附件中,有一个用于设计的屏幕截图和用于离子的QR码扫描的屏幕截图.

感谢你的帮助.

QR码扫描屏幕和我想要使用的设计

ionic-framework cordova-plugins ionic-native ionic3

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

如何在离子本机中创建,读取和写入文件

我正在寻找文件操作,例如创建,读取和写入文本或登录文件,我进行了很多研究,但是我没有找到合适的例子来做。该链接给出了示例,但当我在打字稿文件中使用该示例时,出现类似[ts]的错误,例如类型'Window'上不存在属性'requestFileSystem'。

像这样的例子

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fs) {

    console.log('file system open: ' + fs.name);
    fs.root.getFile("newPersistentFile.txt", { create: true, exclusive: false }, function (fileEntry) {

        console.log("fileEntry is file?" + fileEntry.isFile.toString());
        // fileEntry.name == 'someFile.txt' 
        // fileEntry.fullPath == '/someFile.txt' 
        writeFile(fileEntry, null);

    }, onErrorCreateFile);

}, onErrorLoadFs);



function writeFile(fileEntry, dataObj) {
    // Create a FileWriter object for our FileEntry (log.txt). 
    fileEntry.createWriter(function (fileWriter) {

        fileWriter.onwriteend = function() {
            console.log("Successful file write...");
            readFile(fileEntry);
        };

        fileWriter.onerror = function (e) {
            console.log("Failed file write: …
Run Code Online (Sandbox Code Playgroud)

typescript ionic2 ionic-native ionic3 angular

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

改变离子背景不透明度?

我正在尝试将我的不透明度ion-backdrop从更改0.080.33

我试过了:

ion-backdrop {
  opacity: 0.33 !important;
}
Run Code Online (Sandbox Code Playgroud)

和设置$popover-ios-background: rgba(0, 0, 0, 0.33);

将值设置为 onion-backdrop确实有效,但由于它很重要,因此它不会为淡出设置动画。

如何更改背景的不透明度?

css ionic-framework ionic-native ionic3

5
推荐指数
2
解决办法
5064
查看次数

在 Ionic 3 中显示由 Native Camera 拍摄的 FILE_URI 图像

你如何显示用户@ionic-native/camera在 Ionic 3 中使用的 FILE_URI 图像?

我可以使用 Ionic Native 的 Camera 获取 FILE_URI 图像 URL,结果如下:

file:///var/mobile/Containers/Data/Application/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX/tmp/cdv_photo_005.jpg
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试通过引用视图模板中的 URI 将此图像显示回用户时,该图像永远不会加载。

我尝试过的事情:

- 直接在视图中使用图像 URI

<img src="{{profile.image}}">    // Never loads
Run Code Online (Sandbox Code Playgroud)

- 通过包含DomSanitizer在页面组件中来清理 URI :

<img [src]="domSanitizer.bypassSecurityTrustUrl(profile.image)">    // Never loads
Run Code Online (Sandbox Code Playgroud)

由于性能拖累,我宁愿不使用 base64 图像。我在这里做错了什么?

ionic-framework ionic-native ionic3

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

无法显示来自 FILE URI、Ionic 框架的图像

我正在尝试显示从相机拍摄的图像并将其显示在视图中。我在许多网站上搜索过这个答案,但没有任何效果。我尝试过 DomSanitizer、Base64 甚至 photo-library,但没有显示从它们返回的图像。

我的 home.ts 文件是

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { Camera, CameraOptions } from '@ionic-native/camera';
import { DomSanitizer } from '@angular/platform-browser';

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {

  myPhoto:any;
  image;
  constructor(public navCtrl: NavController, private camera: Camera, public DomSanitizer: DomSanitizer) {

  }

  takePhoto(){
    const options: CameraOptions = {
      quality: 100,
      targetHeight: 320,
      targetWidth: 320,
      destinationType: this.camera.DestinationType.FILE_URI,
      sourceType: this.camera.PictureSourceType.CAMERA,
      encodingType: this.camera.EncodingType.JPEG,
      mediaType: this.camera.MediaType.PICTURE
    }

    this.camera.getPicture(options).then((imageData) => {
     // …
Run Code Online (Sandbox Code Playgroud)

ionic-framework ionic2 ionic-native ionic3

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

Jest / Ionic 4 beta-从“ @ ionic / angular”导入{Platform};获取SyntaxError:在Jest测试中,不是Ionic测试中,意外的令牌导出

针对基本软件包运行Jest时,在运行测试时出现Jest错误,仅在运行时不会出现ionic serve。笑话上出现错误

import { Platform } from '@ionic/angular';
Run Code Online (Sandbox Code Playgroud)

这是:

export { IonicModule } from './ionic-module';
^^^^^^

SyntaxError: Unexpected token export

  3 | import { RouterTestingModule } from '@angular/router/testing';
  4 |
> 5 | import { Platform } from '@ionic/angular';
    | ^
  6 | import { SplashScreen } from '@ionic-native/splash-screen/ngx';
  7 | import { StatusBar } from '@ionic-native/status-bar/ngx';
  8 |

  at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/script_transformer.js:403:17)
  at Object.<anonymous> (src/app/app.component.spec.ts:5:1)
Run Code Online (Sandbox Code Playgroud)

我的Jest.config.json

module.exports = {
    collectCoverage: true,
    collectCoverageFrom: [
        "src/**/*.ts"
    ],
    coverageDirectory: "<rootDir>/coverage/",
    moduleNameMapper: …
Run Code Online (Sandbox Code Playgroud)

jestjs ionic-native angular ionic4

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

TypeScript找不到名称'ClassName',尽管导出了Ionic 3

我必须在我的Ionic 3应用程序中使用某些插件,但它给出了找不到名称错误.我进口了

import { AndroidPermissions } from '@ionic-native/android-permissions';

并在构造函数中声明(public androidPermissions: AndroidPermissions),它给出了一个错误([ts] Cannot find name 'AndroidPermissions'.).

在app.module.ts中声明相同的插件并在Provider中声明时,它给出了错误

[ts]
Type 'AndroidPermissionsOriginal' is not assignable to type 'Provider'.
Type 'AndroidPermissionsOriginal' is missing the following properties from type 'FactoryProvider': provide, useFactory [2322]
Run Code Online (Sandbox Code Playgroud)

阅读论坛后,我用ngx导入了这个插件.

import { AndroidPermissions } from '@ionic-native/android-permissions/ngx'
Run Code Online (Sandbox Code Playgroud)

错误得到解决,但在调用它时会抛出错误

Uncaught (in promise): TypeError: Object(...) is not a function
TypeError: Object(...) is not a function
    at AndroidPermissions.requestPermissions (http://192.168.0.13:8100/build/vendor.js:69796:154)
    at http://192.168.0.13:8100/build/main.js:138:32
    at t.invoke (http://192.168.0.13:8100/build/polyfills.js:3:14976)
    at Object.onInvoke (http://192.168.0.13:8100/build/vendor.js:5134:33)
    at t.invoke (http://192.168.0.13:8100/build/polyfills.js:3:14916)
    at …
Run Code Online (Sandbox Code Playgroud)

typescript ionic-native ionic3 angular ionic-plugins

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

如何从 ionic4 应用程序启动外部应用程序

我的应用程序在 Ionic 4 for android 下,我必须打开/运行/启动外部应用程序(例如 com.google.android.youtube 或 com.sygic.truck)-> 例如,任何已安装的应用程序。

我测试了许多选项但没有成功:

InAppBrowserModule(使用 application://my.package.name)。

Cordova 插件lampaa(我没有找到在angular/ts 应用程序类型下使用它的任何方法)。

我还尝试使用包选项和操作选项调用主活动的 webIntent。


对于 InAppBrowserModule,我坚持使用附加在我的应用程序 url 之前的 http:// 协议。

对于Lampaa,我坚持使用未定义的startApp(即使在遵循其他线程建议之后)。

对于 webIntent,我认为这与我的问题无关。

有什么建议 ?

提前致谢 !


[编辑]

我终于让它工作了!

您可以使用以下两行之一:

 this.iab.create('android-app://com.google.android.youtube',"_system");

 window.open('android-app://com.google.android.youtube',"_system");
Run Code Online (Sandbox Code Playgroud)

您可以用任何应用程序包名称替换 com.google.android.youtube !

android cordova webintents ionic-framework ionic-native

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

电容器编译的 Ionic 应用程序:如何在 Android Studio 中进行调试?

我使用了命令

ngx cap open android
Run Code Online (Sandbox Code Playgroud)

这里描述的那样在 Android Studio 中打开我的 Ionic 5 项目。这工作正常。

在我的应用程序中,我连接到服务器,该服务器返回我的应用程序所需的 json 数据。此连接似乎不起作用,我的应用程序中只有加载动画。

我该如何调试?它在 PWA 版本和我的 Ionic 测试服务器上工作,但应用程序连接时出现问题。我需要一条错误消息或其他东西,才能知道出了什么问题。

什么是解决此类问题的好方法?我可以从打字稿代码在 android studio 中输出或记录一些东西吗?

android-studio ionic-framework ionic-native capacitor ionic5

5
推荐指数
2
解决办法
1903
查看次数