由于目前手头没有真机,只是在模拟器上修改部分telephony代码来调出请求输入PIN码的界面。具体方法:修改external/qemu/telephony/sim_card.c中的asimcard_create()函数,将card->status = A_SIM_STATUS_READY改为card->status = A_SIM_STATUS_PIN,然后重新编译代码生成image,启动模拟器就直接进入PIN码解锁界面。
PIN码解锁界面属于Phone Policy的一部分,代码位置在
framework/base/policy/src/com/android/internal/policy/SimUnlockScreen.java。当用户输入PIN码按下OK键时,会调用checkPin()函数,通过启动一个线程