嗨,我创建了一个扩展HostApduService的类,并且有一种情况,我想停止或暂停该服务,等待用户的一些输入,然后再次恢复该服务。这可能吗?
我找不到任何手动停止/暂停HostApduService的API。
我想要它做的HostApduService的摘要
protected byte[] processApdu(byte[] apdu) {
if(isEnabled){
/proccess apdu as normal
}
}
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始终需要向终端返回一些字节,但是我不希望它并且想要禁用/暂停它,直到另行通知
最佳答案
禁用:
context.getPackageManager().setComponentEnabledSetting(new ComponentName(context, MyHostApduService.class), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP)
启用:
context.getPackageManager().setComponentEnabledSetting(new ComponentName(context, MyHostApduService.class), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP)
您也可以尝试在“共享首选项”中保存启用/禁用状态