Kann ich verhindern, dass der Hostkartenemulationsdienst durch ausgewählte AID ausgelöst wird?

Ich habe eine Android-App mit einem für Android Beam registrierten Dienst und einem für die Hostkartenemulation registrierten Dienst. Ich möchte entscheiden, wann der HCE-Dienst im Code aktiviert / deaktiviert werden soll. Der HCE-Dienst im Manifest sieht folgendermaßen aus:

<service
        android:name="com.bimo.verifonewallet.service.MyHostApduService"
        android:exported="true"
        android:permission="android.permission.BIND_NFC_SERVICE" >
        <intent-filter>
            <action android:name="android.nfc.cardemulation.action.HOST_APDU_SERVICE" />
        </intent-filter>

        <meta-data
            android:name="android.nfc.cardemulation.host_apdu_service"
            android:resource="@xml/apduservice" />
    </service>

Wenn das Smartphone einen Select-AID-Befehl (mit der Services-AID) empfängt, wird der Service ausgelöst und die Funktion des Service onCreate () ausgeführt. Nach Abschluss der Transaktion wird die Funktion onDestroy () aufgerufen.

Daher hat es keine Auswirkung, wenn ich startService () und stopService () aus der Hauptaktivität ausführe.

Kann ich steuern, ob der Dienst aufgerufen wird oder nicht?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage