0
私はアンドロイドスタジオの初心者ですが、私はhceプロジェクトに取り組んでいます。私はキーのように動作するアプリをビルドしており、読者が正しい援助がドアを開けたことを検出したとき。私はホストapduサービスを拡張し、援助を宣言します。私は、あなたの名前とパスワードを紹介するのが私のアプリの宣伝であるので、サービスやAndroidのnfcの許可を止めたいと思っています。しかし、私のアプリのnfcはバックグラウンドで動作し、パスワードを入力する前にnfcを停止する方法を知らない。HostapduServiceの起動方法と停止方法
public class HceService extends HostApduService {
private static final byte[] SELECT_AID = {0x00, (byte) 0xA4, 0x04, 0x00, 0x07, (byte) 0xBB, 0x52, 0x61, 0x75, 0x6c, 0x0d, 0x0a,};
private static final byte[] MY_UID = {0x01, 0x02, 0x03, 0x04, (byte) 0x90, 0x00};
private static final byte[] MY_ERROR = {0x6f, 0x00};
@Override
public byte[] processCommandApdu(byte[] apdu, Bundle extras) {
if (Arrays.equals(SELECT_AID, apdu))
return MY_UID;
else return MY_ERROR;
}
@Override
public void onDeactivated(int reason){
}
}
<service
android:name=".HceService"
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>
<?xml version="1.0" encoding="utf-8"?>
<host-apdu-service xmlns:android="http://schemas.android.com/apk/res/android"
android:requireDeviceUnlock="false" >
<aid-group
android:category="other">
<aid-filter android:name="BB5261756c0d0a"/>
</aid-group>
</host-apdu-service>
https://stackoverflow.com/q/25176181/2425802もご確認ください。 –