2016-08-03 124 views
1

嗨,我已经创建了一个扩展HostApduService的类,并且有一个场景,我希望在再次恢复服务之前停止或暂停等待来自用户的某些输入的服务。这可能吗?手动禁用并启用Android HostApduService?

我找不到任何手动停止/暂停HostApduService的API。我HostApduService的什么我想要它做的

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

片断android的一些行动上的UI

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总是需要一些字节返回到终端,但我

片段不希望它,并想disablle /暂停它,直到进一步通知

回答

0

禁用:

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) 

您也可以尝试在保存共享偏好

的启用/禁用状态