是否可以在运行时更改 Android <host-apdu-service> 属性 android:requireDeviceUnlock?
Is it possible to change Android <host-apdu-service> attribute android:requireDeviceUnlock at runtime?
Android NFC HCE HostApduService 通过 apduservice.xml 配置,其中包含:
<host-apdu-service xmlns:android="http://schemas.android.com/apk/res/android"
android:description="@string/servicedesc"
android:requireDeviceUnlock="true" >
<aid-group
android:category="other"
android:description="@string/aiddescription" >
<aid-filter android:name="F0010203040506" />
</aid-group>
</host-apdu-service>
我想使 requireDeviceUnlock 成为用户可在运行时配置的设置。我怀疑我可以通过重新启动服务来强制重新加载 XML 文件:
stopService(new Intent(this, MyHostApduService.class));
startService(new Intent(this, MyHostApduService.class));
但是如何在运行时更改 XML 文件中的设置?
我实际上正在考虑实现相同的功能,即让用户偏好是否需要解锁设备。
然而看着 api
https://developer.android.com/reference/android/nfc/cardemulation/HostApduService.html
此时,似乎没有符合条件的调用来更改应用程序 apduservice.xml 文件中设置的 "requireDeviceUnlock" 值。
希望这会在未来有所改变。
然而,您可以将其设置为 false,然后在您的 apduservice 实现中检查 sharedpreference 设置以查看用户指定的内容,然后 accept/deny 从那里开始您的进程。
Android NFC HCE HostApduService 通过 apduservice.xml 配置,其中包含:
<host-apdu-service xmlns:android="http://schemas.android.com/apk/res/android"
android:description="@string/servicedesc"
android:requireDeviceUnlock="true" >
<aid-group
android:category="other"
android:description="@string/aiddescription" >
<aid-filter android:name="F0010203040506" />
</aid-group>
</host-apdu-service>
我想使 requireDeviceUnlock 成为用户可在运行时配置的设置。我怀疑我可以通过重新启动服务来强制重新加载 XML 文件:
stopService(new Intent(this, MyHostApduService.class));
startService(new Intent(this, MyHostApduService.class));
但是如何在运行时更改 XML 文件中的设置?
我实际上正在考虑实现相同的功能,即让用户偏好是否需要解锁设备。
然而看着 api
https://developer.android.com/reference/android/nfc/cardemulation/HostApduService.html
此时,似乎没有符合条件的调用来更改应用程序 apduservice.xml 文件中设置的 "requireDeviceUnlock" 值。
希望这会在未来有所改变。
然而,您可以将其设置为 false,然后在您的 apduservice 实现中检查 sharedpreference 设置以查看用户指定的内容,然后 accept/deny 从那里开始您的进程。