程序锁的基本功能,已经实现了,但是你如果输入密码进入 APP以后,看门狗,还是监听你想进入的APP,这时候又会出现一个输入密码的界面。
我先说一下思路。
//告诉看门狗这个程序密码输入正确了。 可以临时的停止保护。
//自定义的广播,临时停止保护。
Intent intent = new Intent();
intent.setAction("com.xiaoxin.mobilesafe.tempstop");
intent.putExtra("packname", packname);
sendBroadcast(intent);
finish();WatchDogService.java private InnerReceiver innerReceiver;
innerReceiver = new InnerReceiver();
registerReceiver(innerReceiver, new IntentFilter("com.xiaoxin.mobilesafe.tempstop")); private class InnerReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
tempstop = intent.getStringExtra("packname");
}
}//还要判断这个应用程序是否临时停止保护
if (packageName.equals(tempstop)) {
}不做任何操作 如果不是继续监听appprivate ScreenOffReceiver offreceiver;
private class ScreenOffReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
offreceiver = null;
}
}<span> </span>offreceiver = new ScreenOffReceiver(); <span> </span>registerReceiver(offreceiver, new IntentFilter(Intent.ACTION_SCREEN_OFF));
@Override
public void onBackPressed() {
//回桌面。
Intent intent = new Intent();
intent.setAction("android.intent.action.MAIN");
intent.addCategory("android.intent.category.HOME");
intent.addCategory("android.intent.category.DEFAULT");
intent.addCategory("android.intent.category.MONKEY");
startActivity(intent);
//所有的activity最小化 不会执行ondestory 只执行 onstop方法。
}@Override
protected void onStop() {
super.onStop();
finish();
}原文:http://blog.csdn.net/jack_king007/article/details/41802015