简体   繁体   English

手动禁用并启用Android HostApduService吗?

[英]Manually Disable and enable Android HostApduService?

Hi i have created a class that extends HostApduService and there is a scenario where i want to stop or pause the service awaiting some input from the user before resuming the service again. 嗨,我已经创建了一个扩展HostApduService的类,并且在这种情况下,我想停止或暂停该服务,以等待用户的一些输入,然后再次恢复该服务。 Is this possible? 这可能吗?

i could not find any API that manually stops/pauses the HostApduService. 我找不到任何手动停止/暂停HostApduService的API。

snippet of my HostApduService on what i want it to do 我想要它做的HostApduService的摘要

protected byte[] processApdu(byte[] apdu) {
    if(isEnabled){
          /proccess apdu as normal
  }
}

snippet of some action in android on a ui ui上android中的某些操作的代码段

new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //disable/pause hostapdu service???
            }
        });

new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    //enable/resume hostapdu service???
                }
            });

processApdu always needs to return some bytes to the terminal but i dont want it to and want to disablle/pause it until further notice processApdu总是需要向终端返回一些字节,但是我不希望它并且想要禁用/暂停它,直到另行通知

To disable: 禁用:

context.getPackageManager().setComponentEnabledSetting(new ComponentName(context, MyHostApduService.class), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP)

To enable: 启用:

context.getPackageManager().setComponentEnabledSetting(new ComponentName(context, MyHostApduService.class), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP)

You could also try saving the enabled/disabled state in Shared Preferences 您也可以尝试在“共享首选项”中保存启用/禁用状态

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM