2017-01-24 10 views
2

내 응용 프로그램이 내 SIM 카드의 Java Card 애플릿에 APDU를 보내는 응용 프로그램을 빌드하려고합니다. 이 apdu가 수신되면 내 애플릿이 특정 URL로 브라우저를 실행하기를 원합니다. Java Card 3.0 Connected Edition에서도 동일한 작업을 수행 할 수 있습니다. Java Card 2.2.2에는 브라우저를 시작하기위한 사전 처리기의 옵션이 있지만 읽지 못했습니다. 누군가가 나를 어떻게하는지 보여줄 수 있다면 정말 고마워.Java Card 2.2.2 SIM 카드 애플릿에서 특정 URL로 브라우저를 시작하는 방법은 무엇입니까?

답변

2

예, 가능합니다. 그러나 많은 휴대 전화 (특히 iOS를 실행하는 휴대 전화)는이 기능을 지원하지 않으므로 먼저 TERMINAL PROFILE 명령의 출력을 먼저 확인해야합니다.

import sim.toolkit.*; 
... 

private final static byte[] URL = { 
    (byte)'h', (byte)'t', (byte)'t', (byte)'p', (byte)':', (byte)'/', (byte)'/', (byte)'w', (byte)'w', (byte)'w', (byte)'.', (byte)'g', (byte)'o', (byte)'o', (byte)'g', (byte)'l', (byte)'e', (byte)'.', (byte)'c', (byte)'o', (byte)'m' 
}; 
private static final byte PROFILE_LAUNCH_BROWSER = (byte)70; 

private static final void browse() throws ToolkitException { 
    if (MEProfile.check(PROFILE_LAUNCH_BROWSER)) { //checking if the device supports this proactive command 
     ProactiveHandler proactiveHandler = ProactiveHandler.getTheHandler(); 
     proactiveHandler.init(ToolkitConstants.PRO_CMD_LAUNCH_BROWSER, (byte)0x00, ToolkitConstants.DEV_ID_ME); 
     proactiveHandler.appendTLV(ToolkitConstants.TAG_URL, URL, (short)0, (short)URL.length); 
     proactiveHandler.send(); 
    } else { 
     //feature not supported, throw an exception or do something like that 
    } 
} 
+0

감사합니다. 적극적인 처리기가있는 것으로 보입니다. SIM Toolkit 애플릿의 동작에 응답합니다. SIM에 전원이 들어 왔을 때이 방법을 시도해 볼 수 있습니까? –

+2

Downvote? 정말? 왜? 다음에 댓글을 남겨주세요. – vojta

+1

@AbhirupGhosh 죄송합니다. 귀하의 의견을 이해할 수 없습니다 .... 저는 표준 'ProactiveHandler'를 사용합니다. 이는 보통 Java Card를 실행하는 SIM 카드에서 사용할 수 있습니다. 사전 행동 명령을 언제 시작 하시겠습니까? 어떤 사건이 있은 후에? 아니면 직접 SEEK API 호출에 대한 반응으로? – vojta