Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 应用程序显示“;“NFC服务”;从nfc标签启动时作为我的程序_Android_Ionic Framework_Ionic3_Phonegap Plugins - Fatal编程技术网

Android 应用程序显示“;“NFC服务”;从nfc标签启动时作为我的程序

Android 应用程序显示“;“NFC服务”;从nfc标签启动时作为我的程序,android,ionic-framework,ionic3,phonegap-plugins,Android,Ionic Framework,Ionic3,Phonegap Plugins,你好,实际上我的代码有问题,当我把一个nfc标签贴到一个支持nfc的手机上时,它会显示一个“nfc服务”而不是我的应用程序 我已经得出结论,它可能是AndroidManifest.xml,但我已经对它进行了修改,以便从意图过滤器中获取mime事件,下面是代码: 应用程序组件.ts import firebase from 'firebase'; import { Component, ViewChild } from '@angular/core'; import {Keyboard} fro

你好,实际上我的代码有问题,当我把一个nfc标签贴到一个支持nfc的手机上时,它会显示一个“nfc服务”而不是我的应用程序

我已经得出结论,它可能是AndroidManifest.xml,但我已经对它进行了修改,以便从意图过滤器中获取mime事件,下面是代码:

应用程序组件.ts

import firebase from 'firebase';

import { Component, ViewChild } from '@angular/core';
import {Keyboard} from '@ionic-native/keyboard';
import { Platform, Nav, App, AlertController} from 'ionic-angular';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
import { WelcomePage } from '../pages/welcome/welcome';
import { LoginPage } from '../pages/login/login';
import { PpPage } from '../pages/menu/pago/pp/pp';
import { NosotrosPage } from '../pages/menu/nosotros/nosotros';
import { ConfigPage } from '../pages/menu/config/pp/config';
import { SavlistPage } from '../pages/savlist/savlist';
import { AuthService } from '../services/auth';
import { MenuController } from 'ionic-angular';
import { InicioPage } from '../pages/inicio/inicio';
import { Observable } from 'rxjs';
import { AngularFireDatabase } from 'angularfire2/database';
import { Toast } from '@ionic-native/toast';
import { NFC } from '@ionic-native/nfc';
import { window } from 'rxjs/operator/window';
import { Message } from '@angular/compiler/src/i18n/i18n_ast';

@Component({
  templateUrl: 'app.html'
})


export class MyApp {
  @ViewChild(Nav) nav:Nav;

  rootPage: any = WelcomePage;
  rootPageParams: any;


  loginPage: LoginPage;
  users: Observable<any>;
  usdata: any = "npc";
  name: string;
  showSplash = true;
  isAthenticated = false;

  constructor(platform: Platform, statusBar: StatusBar, 
    splashScreen: SplashScreen,
    private menuCtrl: MenuController,
    private authService: AuthService,
    private af: AngularFireDatabase,
    private app: App,
    private alrtCtrl: AlertController,
    private toast: Toast,
    public keyboard: Keyboard,
    public nfc: NFC)
    {

    if (!firebase.apps.length)
    { 
      firebase.initializeApp({
        apiKey: "XXXXXX",
        authDomain: "XXXXXXXX",
        databaseURL: "XXXXXXXX",
        projectId: "XXXXXX",
        storageBucket: "XXXXXX",
        messagingSenderId: "XXXXXXXX"
      });
  }


    firebase.auth().onAuthStateChanged( user => {

      if(user)
      {

        this.isAthenticated = true;
        this.rootPage = InicioPage;

        this.nfc.addNdefListener().subscribe((data)=>{
          console.log(data)
        });

        this.nfc.addMimeTypeListener('text/plain').subscribe((data)=>{
          console.log(data)
        });




        try
        {
          this.usdata = firebase.auth().currentUser.email;
        }
        catch(e)
        {
          console.log("No ha iniciado sesion");
        }

        this.users = this.af.object("/users").valueChanges();

        this.users.subscribe(data => {

                    for (let p in data)
                    { 

            let value = data[p];

            if (value.correo_u == this.usdata)
            {
              this.name = value.name_u;
            }


                    }
        });        

    }
      else
      {
        this.nfc.addNdefListener().subscribe((data)=>{
          let payload = data.tag.ndefMessage[0].payload;
          let tagContent = this.nfc.bytesToString(payload).substring(3);
          console.log(data)
          this.alrtCtrl.create({
            message: tagContent,
          }).present();
        });

        this.nfc.addMimeTypeListener('text/plain').subscribe((data)=>{
          console.log(data)
          this.alrtCtrl.create({
            message: data,
          }).present();
        });

        this.isAthenticated = false;
        this.rootPage = WelcomePage;
      }
    });


    platform.ready().then(() => {
      statusBar.styleDefault();
      splashScreen.hide();



      this.keyboard.disableScroll(true);


       });


    platform.registerBackButtonAction(() => {
      // Catches the active view
      let nav = app.getActiveNav();
      let activeView = nav.getActive();    

      // Checks if can go back before show up the alert
      if (activeView.name == 'InicioPage')
      {
        platform.exitApp();
      }

      if (activeView.name == 'WelcomePage')
      {
        platform.exitApp();
      }

      if(activeView.name == 'ListsPage') 
      {
        activeView.instance.volver();
      }
      else
      {
        activeView.dismiss();
      }
    });
从“firebase”导入firebase;
从“@angular/core”导入{Component,ViewChild};
从'@ionic native/Keyboard'导入{Keyboard};
从“离子角”导入{平台、导航、应用、警报控制器};
从'@ionic native/status bar'导入{StatusBar};
从'@ionic native/SplashScreen'导入{SplashScreen};
从“../pages/welcome/welcome”导入{WelcomePage};
从“../pages/login/login”导入{LoginPage};
从“../pages/menu/pago/pp/pp”导入{PpPage};
从“../pages/menu/nosotros/nosotros”导入{NosotrosPage};
从“../pages/menu/config/pp/config”导入{ConfigPage};
从“../pages/savlist/savlist”导入{SavlistPage};
从“../services/auth”导入{AuthService};
从“离子角度”导入{MenuController};
从“../pages/inicio/inicio”导入{InicioPage};
从“rxjs”导入{Observable};
从“angularfire2/database”导入{AngularFireDatabase};
从'@ionic native/Toast'导入{Toast};
从'@ionic native/NFC'导入{NFC};
从'rxjs/operator/window'导入{window};
从“@angular/compiler/src/i18n/i18n_ast”导入{Message}”;
@组成部分({
templateUrl:'app.html'
})
导出类MyApp{
@ViewChild(导航)导航:导航;
rootPage:any=WelcomePage;
rootPageParams:任何;
登录页面:登录页面;
用户:可观察

我一直从以下来源搜索:

离子型:

爱奥尼亚(爱奥尼亚CLI):4.10.2

系统:

NodeJS:v10.14.2 npm:6.7.0操作系统:Linux 4.15

phonegap nfc 1.0.3“nfc”

Cordova版本:8.1.1

<?xml version='1.0' encoding='utf-8'?> <manifest android:hardwareAccelerated="true" android:versionCode="1" android:versionName="0.0.1" package="XXXXXXXXXX" xmlns:android="http://schemas.android.com/apk/res/android">
    <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
    <uses-permission android:name="android.permission.INTERNET" />
    <application android:hardwareAccelerated="true" android:icon="@mipmap/icon" android:label="@string/app_name" android:supportsRtl="true">
        <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustResize">
            <intent-filter android:label="@string/launcher_name">
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.nfc.action.NDEF_DISCOVERED" />
                <data android:mimeType="text/plain" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <provider android:authorities="${applicationId}.provider" android:exported="false" android:grantUriPermissions="true" android:name="org.apache.cordova.camera.FileProvider">
            <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/camera_provider_paths" />
        </provider>
        <activity android:clearTaskOnLaunch="true" android:configChanges="orientation|keyboardHidden|screenSize" android:exported="false" android:name="com.google.zxing.client.android.CaptureActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:windowSoftInputMode="stateAlwaysHidden" />
        <activity android:label="Share" android:name="com.google.zxing.client.android.encode.EncodeActivity" />
        <meta-data android:name="com.google.android.geo.API_KEY" android:value="XXXXXXXXXXXXXXX" />
        <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
        <uses-library android:name="org.apache.http.legacy" android:required="false" />
        <service android:enabled="true" android:exported="false" android:name="com.google.android.gms.measurement.AppMeasurementService" />
        <service android:name="org.apache.cordova.firebase.FirebasePluginMessagingService">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
        </service>
        <service android:name="org.apache.cordova.firebase.FirebasePluginInstanceIDService">
            <intent-filter>
                <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
            </intent-filter>
        </service>
        <receiver android:name="org.apache.cordova.firebase.OnNotificationOpenReceiver" />
    </application>
    <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="27" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.FLASHLIGHT" />
    <uses-feature android:name="android.hardware.camera" android:required="true" />
    <uses-permission android:name="android.permission.NFC" />
    <uses-feature android:name="android.hardware.nfc" android:required="false" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-feature android:name="android.hardware.location.gps" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-feature android:glEsVersion="0x00020000" android:required="true" />
    <uses-feature android:name="android.hardware.location" />
    <uses-permission android:name="android.permission.WAKE_LOCK" /> </manifest>